程序设计语言C.docx
《程序设计语言C.docx》由会员分享,可在线阅读,更多相关《程序设计语言C.docx(17页珍藏版)》请在冰点文库上搜索。
![程序设计语言C.docx](https://file1.bingdoc.com/fileroot1/2023-7/8/74d5693b-a09d-48d6-96e8-9df9ed7a8f8f/74d5693b-a09d-48d6-96e8-9df9ed7a8f8f1.gif)
程序设计语言C
单项选择题
1、在定义inta[3][4];后,第10个元素是(2分)
A.a[2][1]
B.a[2][2]
C.a[2][4]
D.a[2][3]
我的答案:
A
得分:
2分
2、阅读程序回答问题:
main()
{inti,j,k,m=0;
for(i=1;i<4;i++)
for(j=1;j<4;j++)
for(k=1;k<4;k++)
m++;
printf(“M=%d”,m);
}
以上程序输出M=().(2分)
A.6
B.27
C.9
D.3
我的答案:
B
得分:
2分
3、以下选项中合法的字符常量是(2分)
A.68
B.B"
C.'\010'
D.D
我的答案:
C
得分:
2分
4、以下叙述正确的是 (2分)
A.C语言比其他语言高级
B.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
C.C语言出现的最晚、具有其他语言的一切优点
D.C语言可以不用编译就能被计算机识别执行
我的答案:
B
得分:
2分
5、下面程序的运行结果是
Main()
{structcmplx{intx;
inty;
}cnum[2]={1,3,2,7};
Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);
}(2分)
A.6
B.1
C.0
D.3
我的答案:
A
得分:
2分
6、以下程序的输出结果是
unionmyun
{struct{intx,y,z;}u;
intk;
}a;
main()
{a.u.x=4;a.u.y=5;a.u.z=6;
a.k=0;
printf("%d\n",a.u.x);
}(2分)
A.5
B.0
C.6
D.4
我的答案:
B
得分:
2分
7、有以下程序
main()
{ int i=10,j=1;
printf("%d,%d\n",i--,++j);
}
执行后输出的结果是(2分)
A.10,2
B.9,1
C.10,1
D.9,2
我的答案:
A
得分:
2分
8、已知:
inta[2][3]={1,2,3,4,5,6},(*p)[3]=a;下列表达式不是4的是(2分)
A.*p+3
B.a[0][3]
C.*(*(p+0)+3)
D.*(*p+3)
我的答案:
A
得分:
2分
9、以下程序的输出结果是
main()
{inta=3;
printf("%d\n",a+(a-=a*a));
}(2分)
A.-12
B.12
C.-6
D.0
我的答案:
A
得分:
2分
10、有以下程序
void f(int x,int y)
{ int t;
if(x}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出的结果是(2分)
A.4,3,5
B.5,3,4
C.5,4,3
D.3,4,5
我的答案:
A
得分:
2分
11、设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是(2分)
A.9
B.3
C.0
D.-12
我的答案:
D
得分:
2分
12、下列程序运行的结果为
#include
Main()
{intk=0;
Charc=’A’;
Do
{switch(c++)
{case‘A’:
k++;break;
Case‘B’:
k--;break;
Case‘C’:
k+=2;break;
Case‘D’:
k=k%2;break;
Case‘E’:
k=k*10;break;
Default:
k=k/3;
}
K++;
}while(c<’G’);
Printf(“k=%d”,k);
}(2分)
A.k=8
B.k=4
C.k=6
D.k=7
我的答案:
A
得分:
2分
13、C语言中用于结构化程序设计的三种基本结构是(2分)
A.if、for、continue
B.if、switch、break
C.for、while、do-while
D.顺序结构、选择结构、循环结构
我的答案:
D
得分:
2分
14、下面程序的输出结果是
typedefstruct
{longx[2];
shorty[4];
charz[8];
}MYTYPE;
MYTYPEa;
main()
{printf("%d\n",sizeof(a));}(2分)
A.14
B.2
C.24
D.8
我的答案:
A
得分:
0分
15、以下能正确进行字符串赋值的是(2分)
A.chars[5];s=”good”
B.chars[5]=”abcd”
C.chars[5];s[]=”good”
D.chars[5]={‘a’,’e’,’I’,’o’,’u’}
我的答案:
B
得分:
2分
16、以下程序的输出结果是
main()
{inti,a[10];
for(i=9;i>=0;i--)a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}(2分)
A.369
B.258
C.741
D.852
我的答案:
D
得分:
2分
17、若有charc[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是(2分)
A.cd
B.cd\0e
C.cde
D.'c''d'
我的答案:
A
得分:
2分
18、设有以下宏定义:
#defineM2
#defineX(m)((M+2)*m)
则执行语句:
z=2*(M+X(3+2));后,z的值为(2分)
A.45
B.32
C.33
D.44
我的答案:
B
得分:
2分
19、在C语言中,合法的长整型常数是(2分)
A.OL
B.324562&
C.216D
D.4962710
我的答案:
A
得分:
2分
20、有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,k=2;
for(i=0;i<3;i++)
{ printf("%d ",m[k][i]); }
}
执行后输出结果是(2分)
A.7 8 9
B.2 5 8
C.4 5 6
D.3 6 9
我的答案:
D
得分:
2分
21、在如下程序段中的while循环
intk=0;
While(k=1)k++;(2分)
A.有语法错,不能执行
B.无限循环
C.一次都不执行
D.执行一次
我的答案:
B
得分:
2分
22、t为int类型,进人下面的循环之前,t的值为0
while(t=l)
{……}
则以下叙述中正确的是(2分)
A.循环控制表达式的值为1
B.循环控制表达式不合法
C.以上说法都不对
D.循环控制表达式的值为0
我的答案:
A
得分:
2分
23、有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1:
printf("%d",i);
case 2:
printf("%d",i);
default:
printf("%d",i);
}}
执行后输出的结果是(2分)
A.012020
B.011122
C.120
D.012
我的答案:
B
得分:
2分
24、下面程序的输出结果是
#definePOWER(x)(x*x)
main()
{inti=4;printf("%d",POWER(i-2));}(2分)
A.5
B.-9
C.-7
D.-6
我的答案:
D
得分:
2分
25、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(2分)
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定
我的答案:
B
得分:
2分
26、下列关于C语言用户标识符的叙述中正确的是(2分)
A.用户标识符中可以出现下划线,但不可以放在用户标识符的开头
B.用户标识符中可以出现下划线和中划线(减号)
C.用户标识符中不可以出现中划线,但可以出现下划线
D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
我的答案:
C
得分:
2分
27、以下选项中属于C语言的数据类型是(2分)
A.布尔型
B.集合型
C.整型
D.复数型
我的答案:
C
得分:
2分
28、若有floatx;则sizeof(x)和sizeof(float)两种描述(2分)
A.都正确
B.都不正确
C.前者正确,后者不正确
D.后者正确,前者不正确
我的答案:
A
得分:
2分
29、设有如下说明
typedef struct
{ int n; char c; double x;}STD;
则以下选项中 ,能正确定义结构体数组并赋初值的语句是(2分)
A.struct tt[2]={{1,’A’},{2,’B’}};
B.STD tt[2]={{1,’A’,62},{2,’B’,75}};
C.struct tt[2]={{1,"A",62.5},{2,"B",75.0}};
D.STD tt[2]={1,"A",62,2,"",75};
我的答案:
B
得分:
2分
30、以下有宏替换不正确的叙述(2分)
A.宏替换不占用运行时间
B.宏替换只是字符串替换
C.宏名必须用大写字母表示
D.宏名无类型
我的答案:
C
得分:
2分
31、下列程序运行的结果为
#include
fun(intx,inty,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{inta,b,c,d ;
a=30 ;
b=50;
fun(a,b,&c,&d);
printf(“%d,%d\n”,c,d);
}(2分)
A.80,-20
B.50,30
C.80,20
D.30,50
我的答案:
A
得分:
2分
32、以下有4组用户标识符,其中合法的一组是(2分)
A.WORD
B.4d
C.f2_G3
D.For
我的答案:
C
得分:
2分
33、执行charstr[10]=”Ch\nina”;strlen(str)的值是(2分)
A.9
B.6
C.7
D.5
我的答案:
B
得分:
2分
34、若有以下说明和语句,且0<=i<10,则()是对数组元素的错误引用
inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;
p=a;(2分)
A.p+i
B.*(a+i)
C.*(&a[i])
D.a[p-a]
我的答案:
A
得分:
2分
35、以下选项中,不能正确赋值的是(2分)
A.chars3[20]="Ctest";
B.chars1[10];s1="Ctest";
C.char*s4="Ctest\n";
D.chars2[]={'C','t','e','s','t'};
我的答案:
B
得分:
2分
36、有以下程序段
int m=0,n=0; char c=’a’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:
10A10<回车>,则输出结果是:
(2分)
A.10,A,0
B.10,a,10
C.10,A,10
D.10,a,0
我的答案:
C
得分:
2分
37、若有代数式3ae/(bc),则不正确的C语言表达式是(2分)
A.a/b/c*e*3
B.3*a*e/b*c
C.3*a*e/b/c
D.a*e/c/b*3
我的答案:
B
得分:
2分
38、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为(2分)
A.2
B.0
C.3
D.1
我的答案:
A
得分:
2分
39、有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是(2分)
A.w,one
B.n,two
C.t,one
D.o,two
我的答案:
A
得分:
2分
40、一个C程序的执行是从(2分)
A.main()函数开始,直到main()函数结束
B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束
D.main()函数开始,直到最后一个函数结束
我的答案:
A
得分:
2分
判断题
41、在switch语句中,每一个的case常量表达式的值可以相同。
()(5分)
正确
错误
我的答案:
错误
得分:
5分
42、continue不是结束本次循环,而是终止整个循环的执行。
()(5分)
正确
错误
我的答案:
错误
得分:
5分
43、任何表达式语句都是表达式加分号组成的。
()(5分)
正确
错误
我的答案:
正确
得分:
5分
44、case语句后如没有break,顺序向下执行。
()(5分)
正确
错误
我的答案:
正确
得分:
5分