77范文网 - 专业文章范例文档资料分享平台

C程序设计考试复习题

来源:网络收集 时间:2019-08-30 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一.单项选择题

C程序练习题

⑴“a”在内存中占 A 字节。 A. 1个 B. 2个 C. 3个 D. 4个 ⑵a=b+=c+5,若b=1,c=2,则a的值是 C 。 A. 1 B. 7 C. 8 D. 出错 ⑶下列合法的变量名是 B 。 A. 123 B. next C. int D. *x

⑷字符型数据在微机内存中的存储形式是 D 。 A. 反码 B. 补码 C. EBCDIC码 D. ASCII码 ⑸请选出可作为C语言用户标示符的一组标示符 B 。 A. void B. a3_b3 C. For D. Za

Define _123 _abc DO WORD IF case sizeof ⑹若变量已正确定义并赋值,不符合C语言语法的表达方式是 B 。

A.

a=a+7 B. a=7+b+c,a++ C. (int)(12.3)%4 D. a=a+7=c+b

⑺TURBO C中int类型变量所占字节数是 B 。 A. 1 B. 2 C. 3 D. 4

⑻执行scanf(“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分别为3和4,则正确的输入方法为 C 。 A. 3,4 B. a:3 b:4 C. a=3, b=4 D. 3 4

⑼下列程序的执行结果是 B 。 A. 5,0,-10 B. 0,0,5 C. –10,5,-10 D. 5,0,5 main( )

{int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+5);

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

⑽若输入2.50,下列程序的执行结果是 D 。 A. 0 B. 3.125 C. 3.13 D. 程序有错 main( )

{float r ,area; scanf(“%5.2f”,& r);

printf(“area=%f\\n”,area=1/2*r*r);}

⑾设a,b均是int型变量,则以下不正确的函数调用为 D 。

A. getchar() B. putchar(‘\\106’); C. scanf(“%d,-”,&a,&b); D. putchar(‘\\’); ⑿设a为整形变量,不能正确表达数学关系:10

1

A. 1010&&a<15 D. !(a<=10) &&!(a>=15) ⒀在以下一组运行符中,优先级最高的是 C 。 A. <= B. = C. % D. && ⒁在以下运算符中,优先级最高的运算符是 B 。 A. <= B. / C. != D. &&

⒂假设所有变量均为整形,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是 B 。 A. 7 B. 8 C. 9 D. 2 ⒃在以下运算符中,优先级最高的运算符是 A 。 A. ! B. = C. + D. ‖ ⒄执行下列程序段后,变量的正确结果,供选择的答案是 D 。 A. 10 B. 11 C. 12 D. 13 int i=10,j=0; do { switch(i)

{ case 9 : i++; case 10 : i++; case 11 : i++; defaut : i++; }

} while (j);

⒅以下程序执行 B 次。 A. 5 B. 6 C. 8 D. 9

#include“stdio.h” #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() { int i,n=0;

for(i=1;i<=NUM;i++) { n++;printf(“%d”,n);} printf(“\\n”);}

⒆对两个静态数组A和B进行如下初始化: static char A[]=“ABCDEF”;

static char B[]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};

则下列叙述正确的是 D 。 A. A和B完全相同 B. A和B只是长度相同 C. A数组长度比B数组短 D. A数组长度比B数组长

⒇下列对C语言字符数组的描述中错误的是 C 。

A.

字符数组可以存放字符串 B。字符数组中的字符串可以整体输入、输出

C。 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D。不可以用关系运算符对字符数组中的字符串进行比较

2

⑴不能把字符串:Hello!赋给数组b的语句是 B 。

A.

char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’,‘\\0’}; B。char b[10]; b=“Hello!”;

C。 char b[10]; strcpy (b,“Hello!”); D。char b[10]= “Hello!”;

⑵ 若有以下说明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c=‘a’,d,g;

则数值为4的表达式是 D 。 A. a[g-c] B. a[4] C. a[‘d’-‘c’] D. a[‘d’-c] ⑶合法的数组定义是 B 。 A. int a[]=“string” B. int a[5]={1,2,3,4,5} C. char a=“string” D. char a[]={1,2,3,4,5} ⑷若有定义和语句:

static char s1[]=“abcd”; char s2[10];s2=s1; printf (“%s\\n”,s2);

则结果是(以下□代表空格)D 。 A.输出abcd B.输出a C.输出abcd□□□□ D. 编译不通过

⑸以下程序段给数组所有元素输入数据,应在下划线处填入的是 B 。 A. a+(++i) B. &a[i++] C. a+i D. &a [++i]

main ()

{ int a[10],i=0;

while (i<10) scanf (“%d”, ); ?? ;}

⑹变量的指针,其含义为指该变量的 B 。 A. 值 B. 地址 C. 名 D. 一个标志 ⑺设ptr1和ptr2均为指向同一个int型一维数组的指针变量,k为int型变量,则下面不能正确执行的赋值语句是B 。 A. k= *ptr1 + *ptr2; B. ptr2=k; C. ptr1=ptr2; D. k= *ptr1 * (*ptr2);

⑻设char *s=“\\ta\\017bc”,则指针变量s指向的字符串所占的字节数是 C 。 A. 9 B. 5 C. 6 D. 7 ⑼以下程序有错,错误原因是 D 。 main ()

{ int * p,i; char * q ,ch; p=&i; q=&ch; *p=40; *p=*q; ?? ;}

A.

p和q的类型不一致,不能执行*p=*q;语句 B。 *q中存放的是地址值,因此不能执行*p=40;语句

C。 q无具体指向,所以*q无实际意义 D。q虽然指向了具体的存储单元,但该单元无确定值,故不能执行*p=*q

3

⑽有四组对指针变量操作的语句,以下判断正确的是 D 。

①int *p,*q; q=p; int a,*p,*q; p=q=&a ②int a,*p,*q; q=&a; p=*q; int a=20,*p; *p=a ③int a=b=0,*p; p=&a; b=*p; int a=20,*p,*q=&a;*p=*q; ④int a=20,*p,*q=&a; p=q; a=*p;

A.正确:① 不正确②③④ B.正确:①④ 不正确②③ C.正确:③ 不正确①②④ D.正确:④ 不正确①②③ ⑾设程序段 char s[]=“china”; char *p; p=s; 则下列叙述正确的是 CD 。

A. B.

s和p完全相等 B。数组s中的内容和指针变量p中的内容完全相等 s数组长度和p所指向的字符串长度完全相等 D s[0]和*p相等

⑿ 若a、b,、c均为int型变量,则执行以下语句后的a、c值分别为( B )。 a=b=c=-1; ++a || ++b && ++c ; A) 不正确 B) 0和-1 C) 0和0 D) -1和0

⒀若a、b均为int型变量且a=100,则以下关于for循环语句的正确判断为( A )。 for (b=100;a!=b;++a,++b) printf(“--------”) ;

A) 循环体一次也不执行 B) 死循环 C) 循环体只执行一次 D) 输出--------

⒁一个C程序总是从( A )开始执行的。 A)主函数 B) 主过程 子函数 D) 子过程 ⒂在C语言中,int、char和short三种类型数据所占用的内存 ( C )。

A)

均为两个字节 B) 均由用户自己定义 C) 由所用机器的机器字长决定 D) 是任意的

⒃以下哪一个不是正确的转义符 ( C )。 A)‘\\\\’ B) ‘\\’ C) ‘108’ D) ‘\\0’ ⒄以下关于switch语句和break语句的描述中,只有( C )是正确的。

A)

在switch语句中必须使用break语句 B。break语句只能用于switch语句

C。 在switch语句中可以根据需要使用或不使用break语句 D。break语句是switch语句的一部分 ⒅函数定义的缺省类型为 D 。

A. void B. double C. int D. char ⒆在C语言程序中,说法正确的是 B 。

A.

函数的定义可以嵌套,但函数的调用不可以嵌套 B。函数的定义可以不嵌套,但函数的调用可以嵌套

C。 函数的定义和函数的调用都不可以嵌套 D。函数的定义和函数的调用都可以嵌套

⒇ C语言规定,函数返回值的类型是由 D 。

A.

return语句中的表达式类型所决定 B。调用该函数时的主调函数所决定

C。调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定

1、一个C语言程序是由[ C]组成。 A、主程序 B、子程序 C、函数 D、过程 2、下面标识符中,不合法的用户标识符为[ D]。 A、PAd B、a_10 C、CHAR D、a#b 3、在C语言中,int、char和short三种类型数据所占用的内存[ C ]。

A、均为2个字节 B、由用户自己定义 C、由所用机器的机器字长决定 D、是任意的 4、若w=1,x=2,y=3,z=4,则条件表达式w

4

Printf(“%d\\n”,x%=(y%=2));

6、下列程序正确的运行结果为[B ]。 A、9.800000 B、9.300000 C、8.500000 D、8.000000 # include main()

{int a=1,b=4,c=2;

float x=5.5,y=9.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(“%f\\n”,z) }

7、运行下面程序后的w值为[A ]。 A、20 B、7 C、28 D、13

main() {int w =2,k; for (k=0; k<3; k++) { w=f(w);

printf(“%d\\n”,w); } f(x) int x; {int y=0; static z=3; y++; z++;

return(x+y+z); }

8、若有说明语句int i,j,且i的值为6,执行语句j=(++i)+(i++)后,j的值是[ B ]。 A、4 B、14 C、13 D、15 9、若a、b为int型变量,则执行以下语句后,a,b的值为[ D ]。 A、2,9 B、4,2 C、3,-1 D、2、8 a=1; b=10; do {b-=a;

a++;

}while (b--<0);

10、若a为int型变量,则执行以下语句后的结果为[ A ]。 A、5 B、不打印任何内容 C、4 D、陷入死循环 a=5;

do{printf(“-\\n”,a--);

}while(!a);

11、若x、y的int型变量,则执行以下语句后的x,y值是[ A]。 A、10,6 B、6,4 C、7,8 D、10,2 for (y=1, x=1; y<=50; y++)

{if (x>=10) break; if (x%2= =1) {x+=5;

continue; } x-=3; }

12、下列程序正确的运行结果为[ B]。 A、8,20 B、8,8 C、8,17 D、8,16

# include main()

{ int j=4, m=1, k; k=fun(j,m); printf (“%d\\n”, k); } fun(x,y) int x,y;

{ static int m=0, i=2;

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C程序设计考试复习题在线全文阅读。

C程序设计考试复习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/704916.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: