您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页C语言测试题

C语言测试题

来源:小侦探旅游网
C语言测试题

一、单选题(每题两分 共40分)

1、以下不能定义为用户标识符的是______。

1、只能是数字,下划线,字母组成 数字不能开头 2、不能除了下划线以外的其他任意字符

3、C语言里面严格区分大小写 A a 不是同一个变量 4、不能是C语言里面的关键字(详见书上35页) A、_3com_ C、Void

B、int D、scanf

2、已定义c为字符型变量,则下列语句中正确的是________。 A、c=97; C、c=\"97\";

B、c=\"a\"; D、c='97';

3、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,

则用八进制表示的字符常量'\\101'是________。

1*82+0*81+1*80=65 A、字符e C、字符a

B、非法的常量 D、字符A

4、设a和b均为double型常量,且a=5.5,b=2.5;则表达式(int)a+b/b

的值是________。 A、3.000000 C、6

B、6.000000 D、3

5、若有说明语句:char c='72';则变量c_______。

A、包含3个字符 C、包含2个字符

B、说明不合法,c的值不确定 D、包含1个字符

6、下列程序的输出结果是______。 main() {

int x=1,y=0,z;

z=(x<=0)&&(y- ->=0);

printf(“%d %d% d%\\n”,z,x,y) ; }

A、0 -1 -1 B、0 -1 0 C、0 1 0 D、0 1 -1

7、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数

据类型为______。 A、int

B、double D、float

C、char 8、有以下程序: main() {

int a=111,b=222;

printf(“%d\\n”,a,b); }

该程序运行后的输出结果是______。

A、错误信息 B、111 C、222 D、111,222

9、C语言中用于结构化程序设计的三种基本结构是________。 A、for、while、do-while B、if、for、switch C、if、switch、break

D、顺序结构、选择结构、循环结构 10、若有以下程序: main() { int k=2,i=2,m; m=(k+=i*=k);

m=(k=k+4) i=i*k

printf(\"%d,%d\\n\ }

执行后的输出结果是________。 A、6,4

B、7,4

C、8,3

11、下面程序的运行结果是________。 #include main(){

int i;

for(i=1;i<=5;i++){ switch(i%5) {

case 0:printf(\"*\");break;

、8,6

D case 1:printf(\"#\"); default:printf(\"\\n\"); case 2:printf(\"&\"); } } } A、# & & & * B、# && & &* C、#& * D、#& &*

12、以下不是无限循环的语句为_______。 A、while(1) { x++; } B、for(i=10; ;i--) sum+=i;

C、for( ; ;x++=i);

D、for(y=0,x=1;x>++y;x=i++) i=x; 13、下面程序的运行结果是________。 #include main() {

int i,b,k=0; for(i=1;i<=5;i++) { b=i%2;

while(b==1) {k++;b--;} }

printf(\"%d,%d\ } A、3,0

B、8,-2

C、8,-1

D、3,-1

14、以下程序的输出结果是______。 main() {

int a=2,c=5;

printf(“a=%%%d,b=%%%d\\n”,a,c); }

A、 a=%2,b=%5

B、a=2,b=5 D、 a=%%d,b=%%d

C、 a=%%%d,b=%%%d

15、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(结果保留两位小数)______。 A:2.50

B:2.75

C:3.50

D:0.00

16、有以下程序段 main() {

int i=1,sum=0,n; scanf(“%d”,&n); do { i+=2; sum+=i ; 3+5+7=15 }while(i!=7); printf(“%d”,sum); }

若使程序的输出值为15,则应该从键盘输入的n的值是 ( )。 A:1

B:3

C:5

D:7

17、下列程序的输出结果是( )。 #include #include void main() {

char p1[20]=\"abcd\

char str[50]=\"xyz\";

strcpy(str+2,strcat(p1+2,p2+1)); printf(\"%s\\n\}

A:xyabcAB C:Ababcz

B:abcABz D:xycdBCD

18、定义如下变量和数组:

int k; 1 2 3 int a[3][3]={1,2,3,4,5,6,7,8,9}; 4 5 6 7 8 9 则下面语句的输出结果是_______。 for(k=0;k<3;k++) printf(\"%d\ A、1 5 9 B、1 4 7 C、3 6 9 19、下面程序段的运行结果是_______。 char c[5]={'a','b','\\0','c','\\0'}; printf(\"%s\ A、ab c C、ab 20、有以下程序 main() {

int m[][3]={1,4,7,2,5,8,3,6,9};

B、abc D、'a''b'

D、3 5 7

int i,j,k=2; for(i=0; i<3; i++) {

printf(\"%d \ 1(0,0) 4 7

} }

2(1,0) 5 8 3(2,0) 6(2,1) 9(2,2)

执行后输出结果是_______。

A、3 6 9 C、2 5 8

B、7 8 9 D、4 5 6

二、多选题(每题三分,错选漏选不给分 共30分) 1、下列符号串中,不属于C语言合法标识符的有_______。 A、1_2_3 B、a-b-c C、int D、9cd 2、 关于下列程序的输入与输出,正确的说法有_______。 #include void main() { int m,n;

printf(\"Enter m,n∶\");

scanf(\"%d%d\ n=6 while(m!=n) {

while(m>n){

m-=n; }

while(n>m){

n-=m } }

printf(\"m=%d\\n\}

A、输入m>n时,程序将输出1 B、输入mC、输入m,n满足m%n=0,且m>n时,程序输出值为n的值 D、输入m或n为0时,程序将陷入死循环 3、把字符串\"hello\"赋给数组b的语句是________。

A、char b[10]={'h','e','l','l','o'}; B、char b[10];b=\"hello\";

D、char b[]=\"hello\";

C、 char b[]={'h','e','l','l','o','\\0'};

4、设已定义char s[9]=\"\"和int i,则下面的输出函数调用中正确的是________。 A、printf(\"%s\ C、puts(s);

B、for(i=0;i<9;i++)printf(\"%c\ D、for(i=0;i<9;i++)puts(c[i]);

5、设A是整型变量,正确表达数学关系10B.A==11||A==12||A==13||A==14 C.A>10 && A<15

D.!(A<=10) && !(A>=15) E.A>10||A<15

6、下列关于\"switch(表达式)\"语句说法正确的是________。 A、switch语句是多分支语句

B、switch语句中的每个case子句必须有一个break语句 C、switch语句中允许有一个default子句,也可以没有 D、switch语句中的每个case子句的常量表达式的值必须互不同 7、下列语句定义数组正确的是________。 A、int a(10);

B、int a[2+9];

C、int arr[0 to 3][0 to 4]; D、int arr[3][4]; 8、C语言中函数返回值的类型与下列哪项无关? A、定义函数时所指定的函数类型 B、调用函数时临时

C、 调用该函数的主函数类型 D、return语句中的表达式类型

9、以下对一维数组a进行初始化,错误的语句是______。 A、 int a[10]=(0,0,0,0,0); B、int a[10]={}; C、int a[10]={0}; D、 int a[2]={10,9,8};

10、 以下说法不正确的是______。

A、定义函数时,形参的类型说明可以放在函数体内 B、return后边的值不能为表达式

C、 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准

D、 如果形参与实参的类型不一致,以实参类型为准 三、程序题(每题十分 共30分)

1、输入两个字符串,要求将这两个字符串交叉连接。如串1为\"ABCD\",串2为\"123456\",则合并后的串为\"A1B2C3D456\"。 2、有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},将数组a的每一行元素均除以该行上的主对角元素,按行输出新数组 3、5个学生三门课程,计算平均成绩,输出学生的学号、数学、英语、计算机、平均分信息,并按平均分排序

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务