C程序设计期末考试习题库删节版.docx
- 文档编号:26447226
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:9
- 大小:21.79KB
C程序设计期末考试习题库删节版.docx
《C程序设计期末考试习题库删节版.docx》由会员分享,可在线阅读,更多相关《C程序设计期末考试习题库删节版.docx(9页珍藏版)》请在冰豆网上搜索。
C程序设计期末考试习题库删节版
C程序设计期末考试习题库(删节版)
选择练习题
1、C语言中最简单的数据类型包括。
A、整型,实型,逻辑型
B、整型,实型,字符型
D、整型,实型,逻辑型,字符型
C、整型,字符型,逻辑型
2、C语言中,运算对象必须是整型数的运算符是。
A、%
B、/
C、%和/
D、*
3、为表示关系x<y<z,应使用C语言表达式。
A、。
A、程序行 B、语句 C、函数 D、字符 5、C语言的程序一行写不下时,可以。
A、用逗号换行 B、用分号换行 C、用回车符换行 D、在任意一空格处换行 6、下述标识符中,是合法的用户标识符。
标识符字母,数字和下划线组成 A、A&B B、void C、_student D、ab*且第一个字符必须为字母或下划线 7、在C语言中,字符型数据在内存中以形式存放。
A、补码 B、ASCII码 C、反码 D、原码
8、一个程序若干文件组成,共用同一变量,则此变量的存储类别应该为。
A、auto B、extern C、static D、Register
auto自动变量 9、以下关于switch语句和break语句的描述中,只有是正确的。
register寄存器变量extern外部变量 A、在switch语句中必须使用break语句
static静态变量 B、在switch语句中,可以根据需要使用或不使用break语句
C、break语句只能用于switch语句中 D、break语句是switch语句的一部分
10、C语言规定:
调用一个函数时,实参变量和形参变量之间的数据传递是。
A、地址传递 B、值传递
C、实参传给形参,并形参传回给实参 D、用户指定传递方式 11、下述C语言转义符中是非法的。
A、'\\b' B、'\\037' C、'\\0xf' D、'\\''
12、为了要计算s=10!
,则以下对s的定义正确的是。
1
A、ints B、unsigneds C、shorts D、longs
13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是。
A、ch>='A'&&ch<='z' B、A<=ch<=Z C、'A'<=ch<='z' D、ch>=A&&ch<=z 14、在C语言中,能表示无符号长整型常数的是。
A、OL B、4962710U C、912374u D、2UL 15、能正确表示C语言的字符常量的是。
A、'\\0x41' B、''A'' C、'\\0' D、''\\0'' 16、C语言中逻辑表达式的值为。
A、0或1 B、非零值或零值 C、true或false D、'true'或'false' 17、C语言提供的基本数据类型关键字是。
A、integer B、FLOAT C、unsigned D、Double 18、若定义语句:
intb[]={1,2,3,4,5},*P=b;则表达式*p++的值是。
A、1 B、2 C、b[0]的地址 D、b[1]的地址 19、在下列选项中,不正确的表达式是。
A、a>b B、c--,++b,a+=1 C、a=c+b>n-m=k D、p++ 20、若有以下定义:
inta[]={1,2,3,4,5,6,7}; charcl='b',c2='2';
则数值不为2的表达式是。
A、a[1] B、'd'-cl C、a['3'-c2] D、c2-0 25、下述对C语言字符数组的描述中错误的是。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 D、不可以用关系运算符对字符组中的字符串进行比较 27、以下程序的输出结果是。
main
{ inti=010,j=10,k=ox10; printf(''%d,%d,%d\\n'',i,j,k); }
2
A、8,10,16 B、8,10,10 C、10,10,10 D、10,10,16 28、以下程序的输出结果是。
#include<> main
{printf;}
A、不确定的值 B、0 C、-1 D、1 29、以下程序的输出结果是。
main
{ charc1='6',c2='0';
printf; }
A、因输出格式不合法,输出出错信息 B、54,48,6 C、,7 D、6,0,6 32、下述对C语言字符数组的描述中错误的是。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符''=''对字符数组整体赋值 D、不可以用关系运算符对字符组中的字符串进行比较 33、TurboC中,对于以下程序。
main { intx,y; y=creat(&x); printf(''%d\\n'',y); } creat(inta) {returna++;} A、编译时会给出错信息
B、顺利进行编译、连接、执行;不报任何错误 C、顺利通过编译、连接、但不能执行 D、顺利通过编译,但连接出错 34、设有如下定义:
intx=10,y=4,z;
3
则语句:
printf(''%d\\n'',z=(x%y,x/y));的输出结果是。
A、1 B、0 C、2 D、3 35、下述程序段的输出结果是。
main
{ intx=10,y=10;
printf(''%d,%d\\n'',x++,++y); }
A、10,10 B、11,11 C、11,10 D、10,11 36、定义如下变量和数组:
intj;
intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。
for(i=0;i<3;i++﹚ printf(''%d'',x[i][2-i]);
A、159 B、147 C、357 D、369
37、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为。
A、a<>0 B、!
a C、a=0 D、a 38、若m,y,z均为int型变量,则执行下面语句后m值是。
m=1;x=2;y=3;z=4; m=%2/4的值是。
A、 B、 C、 D、 40、如下说法不正确的是。
A、c>a+b等效于c>
4
B、若a,b均为真,则a||b为真 C、表达式'c'&&'d'的值为0
D、逻辑运算符!
比逻辑运算符||的优先级高 41、putchar函数可以向终端输出一个。
A、整型变量表达式值 B、字符 C、字符串 D、实型变量值 42、表达式18/4*sqrt/8值的数据类型为。
A、int B、float C、double D、不确定 43、若已定义a为整型变量:
a=-2L;
printf;则以上语句。
A、赋值不合法 B、输出值为-2 C、输出为不确定值 D、输出值为2 45、若int类型数据占两个字节,则以下语句的输出为。
intk=-1;
printf;
A、-1,-1 B、-1,32767 C、-1,32768 D、-1,65535 46、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为。
yhg chara='a'; a--;
printf; A、b,c B、a—运算不合法,故有语法错
C、98,c D、格式描述和输出项不匹配,输出无定值 47、下面语句中是C语言的正确赋值语句。
A、a=1,b=2 B、I++; C、a=b=5 D、y=int(x); 48、设有以下说明语句 structstu {inta; floatb; }stutype;
则下面的叙述不正确的是。
5
A中声明变量并初始化时:
inta=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;C无分号,不是完整的语句,D中x没有定义,如果是intx=3;inty;y=int(x);这样是对的
A、struct是结构体类型的关键字 B、structstu是用户定义的结构体类型 C、stutype是用户定义的结构体类型名 D、a和b都是结构体成员名 49、能正确表示:
当x的取值范围在[1,10]或[100,110]内为真,否则为假的表达式是。
A、&&&&&& B、|||||| C、&&||&& D、||&&&&
50、设n为整型变量,则循环语句for(n=10;n>0;n--)的循环次数为。
A、10 B、9 C、11 D、12
51、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是。
A、fopen B、fseek C、fclose D、rewind 52、下列哪个数组定义是正确的。
A、inta; B、INTa[10]; C、inta[n]; D、inta[3+2]; 53、一个变量的指针就是。
A、变量的地址 B、变量的值 C、变量的名称 D、变量的类型 55、下列正确的说法是。
A、宏替换是在程序运行时进行的 B、函数调用是在程序编译时进行的
C、宏替换时,如果实参是表达式,应先求表达式的值,再替换 D、函数调用时,如果实参是表达式,应先求表达式的值,再替换 56、对于数学式
。
x/2a,下面正确的C语言表达式是
A、sqr(x)/2a B、sqr(x)/2*a C、sqrt(x)/(2*a) D、sqrt(x)/2*a 57、若int类型数据占2字节,则以下语句的输出为。
intk=32768; printf(''%d,%u\\n'',k,k);
A、-1,65535 B、-1,32767 C、-1,-1, D、-32768,32768 59、下面程序中有错误。
1)#include<> 2)main()
6
3){
4)inta[3]={0,0,0}; 5)inti;
6)for(i=0;i<3;i++﹚scanf(''%D'',&a[i]); 7)for(i=1;i<3;i++﹚a[0]=a[0]+a[i]; 8)printf(''%d\\n'',a[0];}
A、第4行 B、第6行 C、第7行 D、第8行 60、下面程序的运行结果。
main()
{ unsigneda=3,b=10;5 printf(''%d\\n''a<<2|b>>1=; }
A、3 B、10 C、13 D、14 61、已定义x为float型变量。
x=;
Printf(''%-\\n'',x);则以上程序。
A、输出格式描述符的域宽不够,不能输出 B、输出为 C、输出为 D、输出为- 62、设已定义整型变量K,则下面的程序输出为。
k=017;s=111; printf; printf;
A、156f B、1670 C、1571 D、166f 63、不能正确表示a*b/c*d的C语言表达式是。
A、a*b/c*d B、a/(c*d)*b C、a*b/c/d D、a*b/(c*d)
64、下列表达式不满足;当x的值为偶数时值为“真”,为奇数时值为“假”。
A、x%2==0 B、!
x%2!
=0 C、x/2*2-x==0 D、!
(x%2) 65、设已定义k为int型变量,则下面while循环执行次。
k=10;
while(k=0)k=-1;
7
%表示最大场宽m,小数位为n位,整数位则为m-n-1位,够m位右对齐。
%-可以控制输出左对齐 A、执行10次 B、无限循环 C、一次也不执行 D、执行一次 67、用高级语言编写的程序称之为。
A、源程序 B、目标程序 C、汇编程序 D、命令程序 69、有以下程序的输出结果为。
main()
{ chara=0x95,b,c; b=(a&0xf)<<4; c=(a&0xf0)>>4;
a=b|c;
printf(''%x\\n'',a); }
A、24 B、59 C、34 D、56 70、下述程序段的输出结果是。
inta=3;b=4; intc=a^b>>3; printf(''%d'',c)
A、3 B、4 C、5 D、6
73、设int型变量在内存中占用两个字节存储单元,定义如下结构体:
structstudent { charname[10]; charsex; intage; struct { intyear; intmonth; intday; }birth; }stul;
则表达式sizeof(stul)的值是。
A、5 B、8 C、2 D、26
8
75、下述程序段的运行结果是。
#include main()
{ intm=7,n=4; floata=,b=,x; x=m/2+n*a/b+1/2; printf(''%f\\n'',x); }
A、22 B、 C、27 76、下面程序的运行结果是。
main()
{ intcl=2,c2=0; while(!
c2--)
printf(''%d%d'',cl--,c2); }
A、陷入死循环 B、不输出任何内容 C、输出2-1 D、输出20 77、下面程序的运行结果是。
intm=4,n=6; max(intx,inty) { intmax; max=x>yx:
y; return(max); } main() { intm=10;
printf(''%d\\n'',max(m,n)); }
A、4 B、10 C、6 D、5 78、下面程序的运行结果是。
fun(intp)
9
D、26 { intk=1; statict=2; k=k+1; t=t+1; return(p*k*t); } main() { intx=4; fun(x);
printf(''%d\\n'',fun(x)); }
A、4 B、32 C、30 D、16 79、阅读下面的程序:
main() { charch; scanf(''%c'',&ch); if(ch>='a'&&ch voidfun(intx) {
putchar('0'+(x%10)); fun(x/10); } main() {
printf(''\\n''); fun(1234); }
A、4321 B、321 C、21 D、1
86、设已定义i和k为int类型变量,则以下for循环语句。
for(i=0,k=-1;;i++,k++) printf(''****\\n'');
A、判断循环结束的条件不合法 B、是无限循环 C、循环一次也不执行 D、循环只执行一次 87、下列程序段选择项中,使i的运行结果为4的程序段是。
A、inti=0,j=0; B、inti=1,j=70; (i=3,(j++)+i); j=i=((i=3)*2); C、inti=0,j=1; D、inti=1,j=1; (j==1)(i=1):
(i=3); i+=j+=2; 89、阅读以下程序。
1)#include 2)main() 3){floats[5]; 4) inti,k=0;
11
5) for(i=0;i=20)break; if(b%3==1) b+3; continue; } b-=5; }
A、7 B、8 C、 D、10 93、下面的程序中有错误。
1)#include
12
2)main() 3){
4) floata[3]={}; 5) inti;
6) for(i=0;i main() { inti;
for(i=1;i7) { n--;
printf(''%d'',n); }
A、1098 B、987 C、10987 D、9876
100、两次运行下面的程序,如果键盘上分别输入6和4,则输出结果是。
#include main() { intx;
for(x=1;x main() { intm,n,w;
15
D、0,0,4D、4
scanf(''%d,%d'',&m,&n); while(n) { w=m%n; m=n; n=w; }
printf(''%d'',m); }
如果输入10,6,则输出结果是。
A、60 B、120 C、2 D、10 113、下列程序执行后输出的结果是。
#include f(inta) { intb=0; staticc=2; a=c++,b++; return(a+b); } main() {inta=2,i,k; for(i=0;ii)
16
sum+=a[i][j]; printf(''sum=%d\\n'',sum); }
A、40 B、36 C、24 D、30 120、阅读下列程序:
main()
{ intn[3],i,j,k; for(i=0;i,则x的值为123,y的值为这个与12345后有没有空格有关,到时候看着办吧。
2、有定义语句:
intx,y,z;,执行x=(y=4,z=8,z=16)后,x的值为16 。
3、计算表达式b=25/3%3后,b的值为2 。
4、设有定义语句intx=1,y=0;,则表达式x-->(y+x)10:
12>y++'A':
'Z'的值是:
65 。
5、请写出以下语句的输出结果9 。
printf(\
7、C语言规定:
标识符只能字母 、数字 、下划线 三种字符组成。
8、有定义语句:
intx=5,y=1;表达式x&y==yx|y:
x^y的值为5 。
9、下述程序段的循环次数是0 次,输出结果是y=1,x=0 。
18
intx=0,y=0; do { y++; x*=x; }while(x>0&&y>5) printf(\
10、若m,y,z,均为int型变量,则执行下面语句后m值是1。
m=1;x=2;y=3;z=4; m=(m main
{ printf(\ 14、下述程序段的输出结果是3 。
inta=3;b=4; intc=a^b>>3; printf(\
17、下述程序段的输出结果是1245056 。
#include voidfun(int*x) {
printf(\
19
}
main( ) { inty=20; fun(&y); }
20、下述程序段的运行结果是15 。
#include main()
{ inta[3][3]={1,2,3,4,5,6,7,8,9}; ints=0,i; for(i=0;i main()
{ intx=8,y=9; intk;
k=(x++)+(++y); printf(\ }
22、下述程序的输出结果是6 。
#include intfun(intx) { staticinta=3; a+=x; returna; } main()
{ intk=2,m=1,n;
20
{FILE*fp;
charch,fname[10];
printf(\nameoffile\\n\ gets(fname);
if((fp=fopen(fname,\)==NULL) { printf(\\\n\ printf(\\\n\ while((ch=getchar)!
='#') fputc(ch,fp); fclose(fp); }31
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 期末考试 习题 删节