C语言最终模拟题.docx
- 文档编号:7544508
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:42
- 大小:27.82KB
C语言最终模拟题.docx
《C语言最终模拟题.docx》由会员分享,可在线阅读,更多相关《C语言最终模拟题.docx(42页珍藏版)》请在冰豆网上搜索。
C语言最终模拟题
题号1.以下选项中,能用作用户标识符的是(C)。
A:
void
B:
8_8
C:
_0_
D:
unsigned
题号2...选择题A:
(1分,正确答案A,学生答案*)
阅读以下程序
#include<>
main()
{intcase;floatprintF;
printf("请输入2个数:
");
scanf("%d%f",&case,&printF);
printf("%d%f\n",case,printF);
}
该程序在编译时产生错误,其出错原因是()。
A:
定义语句出错,case是关键字,不能用作用户自定义标识符
B:
定义语句出错,printF不能用作用
户自定义标识符
C:
定义语句无错,scanf不能作为输入函数使用
D:
定义语句无错,printf不能输出case的值
题号3...选择题A:
(1分,正确答案B,学生答案B)
表达式:
(int)((double)9/2)-(9)%2的值是()。
A:
0
B:
3
C:
4
D:
5
题号4...选择题A:
(1分,正确答案B,学生答案D)
若有定义语句:
intx=10;,则表达式x-=x+x的值为()。
A:
-20
B:
-10
C:
0
D:
10
题号5...选择题A:
(1分,正确答案D,学生答案*)
有以下程序
#include<>
main()
{
inta=1,b=0;
printf("%d,",b=a+b);
printf("%d\n",a=2*b);
}
程序运行后的输出结果是()。
A:
0,0
B:
1,0
C:
3,2
D:
1,2
题号6...选择题A:
(1分,正确答案A,学生答案*)
有以下程序
#include<>
main()
{
intc=0,k;
for(k=1;k<3;k++)
switch(k)
{
default:
c+=k;
case2:
c++;break;
case4:
c+=2;break;
}
printf("%d\n",c);
}
程序运行后的输出结果是()。
A:
3
B:
5
C:
7
D:
9
题号7...选择题A:
(1分,正确答案B,学生答案A)
当需要定义一个函数时,以下标识符中,()不能用作函数名。
A:
scanf
B:
for
C:
_sum
D:
F2
题号8...选择题A:
(1分,正确答案D,学生答案*)
已有声明语句"unsignedcharch;",与表达式"ch='B'"的值不相同的表达式是()。
(注释:
字符A的Ascii码以十进制表示为65)
A:
ch=0x42
B:
ch=0102
C:
ch='\102'
D:
ch=066
题号9...选择题A:
(1分,正确答案C,学生答案*)
若要对a进行++运算,则a应具有以下说明()。
A:
inta[3][2];
B:
char*a[]={"12","ab"};
C:
intb[10],*a=b;
D:
char(*a)(char);
题号10...选择题A:
(1分,正确答案B,学生答案*)
以下对于break语句使用的正确描述是()。
A:
可以出现在程序中的任何位置
B:
只能出现在循环或switch结构中
C:
只能出现在switch结构中
D:
只能出现在循环结构中
题号11...选择题A:
(1分,正确答案B,学生答案*)
若有声明语句"inta=5,b=4,c=3,*p=&a;",则下列()表达式语句是正确的。
A:
(*p)++=c;
B:
printf(a%4==0?
"%3d\n":
"%3d",*p);
C:
*(*p)++;
D:
a>20?
return*p-20:
return*p-1;
题号12...选择题A:
(1分,正确答案A,学生答案*)
设intx=2,y=3,z=(++x<=y--)?
((--y==1)?
y--:
--y):
y--;则x,y,z的值为()。
A:
3,0,1
B:
2,0,0
C:
3,1,1
D:
2,2,1
题号13...选择题A:
(1分,正确答案B,学生答案*)
在定义任何一个函数时,下列选项中,()是不可缺少的。
A:
函数名之前的数据类型
B:
函数名之后的一对圆括号
C:
形式参数声明
D:
函数体内的语句
题号14...选择题A:
(1分,正确答案D,学生答案*)
已知某程序如下:
floatp=;
#definep
main()
{printf("%f",p);}
则main函数中标识符p代表的操作数是()。
A:
float型变量
B:
double型变量
C:
float型常量
D:
double型常量
题号15...选择题A:
(1分,正确答案A,学生答案*)
已有声明"ints[2][3]",以下选项中()正确地引用了数组s中的基本元素。
A:
s[1>2][!
1]
B:
s[2][0]
C:
s[1]
D:
s
题号16...选择题A:
(1分,正确答案C,学生答案*)
若有声明"inta[5],*b=a,(*c)[3],*d[3];",则在以下表达式中有语法错误的是()。
A:
a[0]=0
B:
b[0]=0
C:
c[0]=0
D:
d[0]=0
题号17...选择题A:
(1分,正确答案C,学生答案*)
以下跳转语句中,只有()可以选择不唯一的跳转目的地。
A:
continue;
B:
break;
C:
goto标识符;
D:
return;
题号18...选择题A:
(1分,正确答案A,学生答案*)
一个用c语言编写的程序,()是必不可少的。
A:
取名为main的函数定义
B:
#include<>
C:
变量声明
D:
注释
题号19...选择题A:
(1分,正确答案D,学生答案*)
以下声明中正确的是()。
A:
intn=2,a[n]={10};
B:
intn=10,*p[2]=&n;
C:
intn=10,a[2]={n};
D:
inta[2][2]={10},(*p)[2]=a+1;
题号20...选择题A:
(1分,正确答案B,学生答案*)
若有函数fun的定义为
voidfun(…)
{staticinta=1;
...
}
则下列叙述中不正确的是()。
A:
在每次调用fun函数时,变量a的值是上次调用结束时a的值
B:
在fun函数之外,可以用变量名a直接
引用a的值
C:
在其他函数中,可以出现声明doublea=;
D:
fun函数的形式参数不能取名为a
题号21...选择题A:
(1分,正确答案D,学生答案*)
以下单目运算符均只需一个操作数,其中要求操作数的类型只能是指针型的是()。
A:
&
B:
++
C:
!
D:
*
题号22...选择题A:
(1分,正确答案D,学生答案*)
C语言规定,在一个源程序中main函数的位置()。
A:
必须在最开始
B:
必须在最后
C:
必须在预处理命令的后面
D:
可以在其他函数之前或之后
题号23...选择题A:
(1分,正确答案D,学生答案B)
以下选项中,()是C语言关键字。
A:
printf
B:
include
C:
fun
D:
default
题号24...选择题A:
(1分,正确答案A,学生答案*)
已知有声明"inta=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为()。
A:
0
B:
3
C:
D:
4
题号25...选择题A:
(1分,正确答案B,学生答案*)
设指针变量占2个字节的内存空间,若有声明"char*p="123";intc;",则执行语句"c=sizeof(p);"后,
c的值为()。
A:
1
B:
2
C:
3
D:
4
题号26...选择题A:
(1分,正确答案C,学生答案*)
已知有声明"inta=3,b=4;",下列表达式中合法的是()。
A:
a+b=7
B:
a=|b|
C:
a=b=0
D:
(a++)++
题号27...选择题A:
(1分,正确答案D,学生答案*)
已知有声明"chars[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改
为"Good",则以下语句中能够实现此功能的是()。
A:
s="Good";
B:
s[20]="Good";
C:
strcat(s,"Good");
D:
strcpy(s,"Good");
题号28...选择题A:
(1分,正确答案B,学生答案*)
已知有声明"intn;floatx,y;",则执行语句"y=n=x=;"后,y的值为()。
A:
3
B:
C:
D:
题号29...选择题A:
(1分,正确答案C,学生答案A)
已知有声明"inta=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为()。
A:
3,1
B:
15,12
C:
15,1
D:
3,12
题号30...选择题A:
(1分,正确答案B,学生答案*)
已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是()。
A:
printf("%d",32768);
B:
printf("%ld",32768);
C:
printf("%f",32768);
D:
printf("%c",32768);
题号31...选择题A:
(1分,正确答案D,学生答案*)
已知有声明"inta=3,b=4,c=5;",以下表达式中值为0的是()。
A:
a&&b
B:
a<=b
C:
a||b&&c
D:
!
(!
c||1)
题号32...选择题A:
(1分,正确答案C,学生答案B)
已知有声明"longx,y;"且x中整数的十进制表示有n位数字(4 掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中, 则以下表达式中能正确实现这一功能的是()。 A: y=x/(10*(n-1)) B: y=x%(10*(n-1)) C: y=x%(long)pow(10,n-1) D: y=x%(10^(n-1)) 题号33...选择题A: (1分,正确答案B,学生答案B) 已知有声明"intm[]={5,4,3,2,1},i=0;",下列对m数组元素的引用中,错误是()。 A: m[++i] B: m[5] C: m[2*2] D: m[m[4]] 题号34...选择题A: (1分,正确答案C,学生答案*) 下列程序的输出结果是()。 main() {inta=7,b=5; printf("%d\n",b=b/a); } A: 5 B: 1 C: 0 D: 不确定值 题号35...选择题A: (1分,正确答案B,学生答案*) 假设变量a,b均为整型,表达式(a=5,b=2,a>b? a++: b++,a+b)的值是()。 A: 7 B: 8 C: 9 D: 2 题号36...选择题A: (1分,正确答案B,学生答案*) 设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=;a=(int)%4;a=5<<2; A: 125,31,1 B: 125,1,20 C: 125,31,20 D: 2,20 题号37...选择题A: (1分,正确答案C,学生答案*) 设有如下程序段,下面描述中正确的是()。 intk=10;while(k=0)k=k-1; A: 循环执行一次 B: 循环是无限循环 C: 循环体语句一次也不执行 D: 循环体语句执行一次 题号38...选择题A: (1分,正确答案A,学生答案*) 以下程序的输出结果为()。 inti; voidprt() {for(i=5;i<8;i++)printf("%c",'*'); printf("\t"); } main() {for(i=5;i<=8;i++)prt(); } A: *** B: ************ C: ****** D: *** 题号39...选择题A: (1分,正确答案A,学生答案*) 以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A: 2 B: 3 C: 5 D: 语法错误 题号40...选择题A: (1分,正确答案D,学生答案*) C语言中的文件类型只有()。 A: 索引文件和文本文件两种 B: 文本文件一种 C: 二进制文件一种 D: ASCII码文件和 二进制文件两种 题号41...选择题B: (2分,正确答案D,学生答案*) 有以下程序 #include<> main() {intn=2,k=0; while(k++&&n++>2); printf("%d%d\n",k,n); } 程序运行后的输出结果是()。 A: 02 B: 13 C: 57 D: l2 题号42...选择题B: (2分,正确答案D,学生答案*) 以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。 #defineMIN-47 intfindmax(intx[],intn) {inti,max; for(i=0;i {max=MIN; if(max returnmax; } 造成错误的原因是()。 A: 定义语句inti,max;中max未赋初值 B: 赋值语句max=MIN;中,不应给max赋MIN值 C: 语句if(max D: 赋值语句max=MIN;放错了位置 题号43...选择题B: (2分,正确答案D,学生答案A) 下面是有关C语言字符数组的描述,其中错误的是()。 A: 不可以用赋值语句给字符数组名赋字符串 B: 可以用输入语句把字符串 整体输入给字符数组 C: 字符数组中的内容不一定是字符串 D: 字符数组只能存放字符串 题号44...选择题B: (2分,正确答案C,学生答案*) 有以下程序 #include<> intf(intn); main() {inta=3,s; s=f(a);s=s+f(a);printf("%d\n",s); } intf(intn) {staticinta=1;n+=a++;returnn; } 程序运行后的输出结果是()。 A: 7 B: 8 C: 9 D: 10 题号45...选择题B: (2分,正确答案B,学生答案*) 下面结构体的定义语句中,错误的是()。 A: structord{intx;inty;intz;};structorda; B: structord{intx;inty;intz;} structorda; C: structord{intx;inty;intz;}a; D: struct{intx;inty;intz;}a; 题号46...选择题B: (2分,正确答案A,学生答案D) 设有定义: char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是(A)。 A: charstr[]="string";c=str; B: scanf("%s",c); C: c=getchar(); D: c=*string"; 题号47...选择题B: (2分,正确答案D,学生答案*) 有以下程序 #include<> #include<> structA {inta;charb[10];doublec;}; structAf(structAt); main() {structAa={1001,"ZhangDa",}; a=f(a);printf("%d,%s,%6.1f\n",,,; } structAf(structAt) {=1002;strcpy,"ChangRong");=;returnt;} 程序运行后的输出结果是()。 A: 1001,ZhangDa, B: 1002,ZhangDa, C: 1001,ChangRong, D: 1002,ChangRong, 题号48...选择题B: (2分,正确答案D,学生答案*) 下列程序段执行后的结果为()。 main() { staticinta[3][3]={1,3,5,7,9,11,13,15,17},y,x,*p=&a[2][2]; for(x=0;x<3;x++)y+=*(p-4*x); printf("\n%d",y); } A: 45 B: 33 C: 17 D: 27 题号49...选择题B: (2分,正确答案B,学生答案*) 设有定义如下; typedefstuct{intx,y;}pOINT; typedefenum{RED,YELLOW,BLUE,GREEN}COLOR; struct{pOINTxy;COLORc;}pixel,*p=&pixel; 以下对变量pixel的赋值操作中正确的是()。 A: pixel={1,2,BLUE}; B: p->=1;p->=2; p->c=BLUE; C: scanf("%d%d%d",p->,p->,&; D: =2; 题号50...选择题B: (2分,正确答案C,学生答案*) 执行了以下程序段后,x、w的值为()。 intx=0,y=1,z=2,w; if(x++)w=x; elseif(x++&y>=1)w=y; elseif(x++&&z>1)w=z; A: 0、1 B: 1、1 C: 2、1 D: 3、2 题号51...选择题B: (2分,正确答案B,学生答案*) 已有数据类型定义和变量声明如下: structperson {intnum; charname[20],sex; strrut{intcla;charprof[20];}in; }a={20,"Lining",'M',{5,"computer"}},*p=&a; 下列语句中正确的是()。 A: printf("%s",a->name); B: printf("%s",p->; C: printf("%s",*; D: printf("%s",p->in->prof); 题号52...选择题B: (2分,正确答案C,学生答案*) 已有预处理命令和声明如下: #defineN10 inta=2,c=1; doubleb=; 下述程序段正确的是()。 A: switch(a) {casec: a--;break; casec+1: a++;break; } B: switch(a) {caseN>0: a=1;break; case1: a=O;break; } C: switch(a) {case2: b++;break; case'0': b=3; } D: switch(b) {case: b++;break; case: b=1;break; } 题号53...选择题B: (2分,正确答案C,学生答案*) 若有以下声明和定义: voidfun(intc){printf("%d",c);} main() {void(*a)(int)=fun,*b(int),(*c)(int); /*调用fun函数语句位置*/ } void*b(intc){} 如果在main函数中需要调用fun函数,以下调用语句中错误的是()。 A: fun (1); B: (*a) (1); C: b=fun;(*b) (1); D: c=a;(*c) (1); 题号54...判断题: inti=20;switch(i/10){case2: printf("A");case1: printf("B");}的输出结果为A。 () (对或错) 参考答案(1分)学生答案(0分) 错 题号55...判断题: 函数strlen("ASDFG\n")的值是7。 ()(对或错) 参考答案(1分)学生答案(0分) 错~~F 题号56...判断题: 通过return语句,函数可以带回一个或一个以上的返回值。 (错)(对或错) 参考答案(1分)学生答案(0分) 题号57...判断题: 用fopen("file","r+");打开的文件"file"可以进行修改。 ()(对或错) 参考答案(1分)学生答案(0分) 对 题号58...填空题: 若有定义语句: inta=5;,则表达式: a++的值是_____________。 参考答案(2分)学生答案(0分) 5 题号59...填空题: 若有语句doublex=17;inty;,当执行y=(int)(x/5)%2;之后y的值为_________。 参考答案(2分)学生答案(0分) 1 题号60...填空题: 有以下程序 #include<> main() {intf,f1,f2,i; f1=0;f2=1; printf("%d,%d",f1,f2); for(i=3;i<=5;i++) {f=f1+f2;printf("%d",f); f1=f2;f2=f; } } 程序运行后的输出结果是___________。 参考答案(2分)学生答案(0分) 0,1123 题号61...填空题: 有以下程序 #include<> inta=5; voidfun(intb) {inta=10; a+=b;printf("%d",a); } main() {intc=20; fun(c);a+=c;printf("%d",a); } 程序运行后的输出结果是________________。 参考答案(2分)学生答案(0分) 3025 题号62...填空题: 有以下程序: #include<> fun(intx) {if(x/2>0)fun(x/2); printf("%d",x); } main() {fun(6);} 程序运行后的输出结果是___________________。 参考答案(2分)学生答案(0分) 136 题号6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 最终 模拟