C语言程序设计题库.docx

上传人:b****6 文档编号:9128977 上传时间:2023-02-03 格式:DOCX 页数:14 大小:141.85KB
下载 相关 举报
C语言程序设计题库.docx_第1页
第1页 / 共14页
C语言程序设计题库.docx_第2页
第2页 / 共14页
C语言程序设计题库.docx_第3页
第3页 / 共14页
C语言程序设计题库.docx_第4页
第4页 / 共14页
C语言程序设计题库.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言程序设计题库.docx

《C语言程序设计题库.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题库.docx(14页珍藏版)》请在冰豆网上搜索。

C语言程序设计题库.docx

C语言程序设计题库

、选择题(每题1分,共20分)

1.C语言程序从main()函数开始执行,所以这个函数要写在(D)。

A•程序文件的开始B.程序文件的最后

C.它所调用的函数的前面D•程序文件的任何位置

2.下列方法中错误的是(D)。

A•主函数可以分为两个部分:

主函数说明部分和主函数体。

B•主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D•程序可以从任何非主函数开始执行。

3.

下列正确的标识符是(C)。

5.下列可以正确表示字符型常量的是(A)。

A.'\t'B.”a”C.”\n”D.297

6在C语言中,字符型数据所占的内存空间是(C)。

A.2个字节B.4字节C.1字节D.由用户自定义

7若int类型数据占2个字节则unsignedint类型数据的取值范围是(B)。

A.0〜255B.0〜65535C.-32768〜32767D.-256〜255

8.若有以下类型说明语句:

chara;intb;floatc;doubled;则表达式a*b+d-c的结果类型为

(D)。

A.floatB.charC.intD.double

9.下列正确的预编译命令是(D)。

A.definePI3.14159

B.#defineP(a,b)=strcpy(a,b)

C.#definestdio.h

D.#definePI3.14159

10.为表示逻辑表达式79

A.(X>79)&&(X<90)

B.(X>79)!

=(X<90)

C.79

D.(X>79)||(X<90)

11.设有语句“inta=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是(A)。

A•1

B.0

C.-1

D.出错

12.字符串“ABCD”

在内存占用的字节数是(

D

)。

A.4

B.6

C.

1

D.5

13.若有“inta=1,x=1;

”,则循环语句“

while(a<10)x++;a++;”的循环执行(A)。

A.无限次

B.不确定次

C.

10次

D.9次

14.有以下程序段

intk=0

while(k)k++;

则while循环体执行的次数是(

C)。

A.无限次

B.

有语法错,不能执行

C・一次也不执行

D.

执行1次

15.已知:

inta[10];则对a数组元素的正确引用是(D)。

A.a[10]B.a[3.5]C.a(5)D.a[0]

16.变量的指针,其含义是指该变量的(B)。

A.值B.地址C.名D.—个标志

17.下列说法中错误的是(C)。

A•构成数组的所有元素的数据类型必须是相同的

B•用指针法引用数组元素允许数组元素的下标越界

C.一维数组元素的下标依次是1、2、3……

D•定义数组时的长度可以是整型常量表达式

18.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为(B)。

A.由系统选择B.单向值传递C.由用户指定传递方式D.地址传递

19.在C语言程序中,有关函数的定义正确的是(B)。

A•函数的定义可以嵌套,但函数的调用不可以嵌套

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

C.函数的定义和函数的调用均不可以嵌套

D•函数的定义和函数的均可以嵌套

20.若有以下说明语句:

structdate

{intyear;

intmonth;

intday;}birthday;则下面的叙述不正确的是(C)。

A.struct是声明结构体类型时用的关键字B.structdate是用户定义的结构体类型名C.birthday是用户定义的结构体类型名

D.year,day都是结构体成员名

一、单项选择题(每题1分,共20分)

1.下列说法错误的是(B)。

A.C程序运行步骤是编辑、编译、连接、执行。

B.C语言的变量名必须用小写,常量用大写。

C.C语言的三种基本结构是顺序、选择、循环。

D.C程序一定由函数构成的。

2.下列C语言用户标识符中合法的是(B)。

A.3axB.xC.caseD.-e2

3.在下列表达式中,属于字符型常量的是(B)。

A.AB.'a'C."A"D.b

4若有以下类型说明语句:

charw;intx;floaty;double乙则表达式(int)(x+y-z*w)的结果为(C)

类型。

A.floatB.charC.intD.double

5.在C语言程序中,表达式8/5的结果是(B)。

6.

A.1.6B.1C.3D.0

8.下列循环语句中有语法错误的是(D)。

A.while(x=y)5;B.while(0);

C.for(i=0;i<3;);D.for(;i<3);

9.若有以下数组说明,则数值最大的和最小的元素下标分别是(B)。

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A.1,12B.0,11C.1,11D.0,12

10.假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};,则数组x在内存中所占字节数是(D)。

A.3B.6C.10D.20

11.以下对C语言函数的有关描述中,正确的是(A)。

A.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形

参,形参的值不能传送给实参

B.C语言函数既可以嵌套定义又可递归调用

C.C语言函数必须有返回值,否则不能使用函数

D.在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中

12.以下叙述中正确的是(A)。

A.构成C程序的基本单位是函数

B.可以在一个函数中定义另一个函数

C.main()函数必须放在其它函数之前

D.所有被调用的函数一定要在调用之前进行定义

13.已知:

(设整型2字节,字符型1字节,浮点型4字节)struct

{inti;

charc;

floata;

}test;

贝Usizeof(test)的值是(D)。

A.4B.5C.6D.7

14.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是(A)。

A.pb=&xB.pb=xC.*pb=&xD.*pb=*x

15.设有数组定义:

chararray[]="abcd";则数组array所占的空间为(B)。

A.4个字节B.5个字节C.6个字节D.7个字节

16.下述对C语言中字符数组的描述错误的是(C)。

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入和输出

C.可在赋值语句中通过赋值运算符“=”对字符数组整体赋值

D.

可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化

A.7B.6C.存在语法错误D.不定值

一、单项选择题(每题1分,共20分)

1.C语言程序是由(C)构成的。

A)一些可执行语言B)main函数C)函数D)包含文件中的第一个函数

2.C语言程序从(

C)开始执行。

A)程序中第

一条可执行语句

B)

程序中第一

个函数

C)程序中的

main函数

D)

包含文件中的第一

个函数

3.不是C语言提供的合法关键字是(

B

)。

A)switch

B)cher

C)case

D)default

4.请选出可用作

C语言用户标识符的一组标识符(

B)。

A)void

B)a3_b3

C)For

D)2a

define

_123

-abc

DO

5.下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A)print_3ddb8aBcB)I\amone_halfstart$it3pai

C)str_1CpppowwhileD)PxqMy->bookline#His.age

6.已定义c为字符型变量,则下列语句中正确的是(C)。

A)c='97'B)c="97"C)c=‘a'D)c="a"

7.已知ch是字符型变量,不正确的赋值语句是(A)。

A)ch='a+b';B)ch='\0';

C)ch='7';D)ch=';';

8.在C语言中,认为(D)为逻辑"真"。

A)trueB)大于0的数C)非0整数D)非0的数

9.表示关系x<=y<=z的c语言表达式为(A)。

C)(x<=y<=z)

D)(x<=y)&(y<=z)

10.能正确表示逻辑关系:

a>=10或a<0的C语言表达式是(D)。

A)a>=10ora<=0

B)a>=0|a<=10

C)a>=10&&a<=0

D)a>=10IIa<=0

A)(x<=y)&&(y<=z)

B)(x<=y)AND(y<=z)

11.在C语言中,下列说法中正确的是(D)。

A)do-while语句构成的循环不能用其它语句构成的循环来代替。

B)do-while语句构成的循环只能用break语句退出。

C)do-while语句构成的循环在while后的表达式非零时结束循环。

D)do-while语句构成的循环,在while后的表达式为零时结束循环。

12.break语句不能出现在(D)语句中。

A)switchB)forC)whileD)if…else

13对于break语句和continue语句的说法错误的是(B)。

A)break语句不能用于循环语句和switch语句之外的任何其他语句中。

B)break和continue也可以用于if语句中

C)continue语句只结束本次循环,而不是终止整个循环的执行。

D)break语句是结束整个循环过程,不再判断执行循环的条件是否成立。

14.以下能对一维数组a进行初始化的语句是(C)。

A)inta[5]=(0,1,2,3,4,)B)inta(5)={}

C)inta[3]={0,1,2}D)inta{5}={10*1}

15.

A)。

B)函数形参的数据类型

D)任意指定的数据类型

在C语言中,函数的数据类型是指(

A)函数返回值的数据类型

C)调用该函数时的实参的数据类型

16.若有以下说明语句:

structstudent

{intnum;

charname[];

floatscore;

}stu;

则下面的叙述不正确的是(D)。

A)struct是结构体类型的关键字

B)structstudent是用户定义的结构体类型

C)num,score都是结构体成员名

D)stu是用户定义的结构体类型名

17.语句int*p;说明了(C)。

A)p是指向一维数组的指针

B)p是指向函数的指针,该函数返回一int型数据

C)p是指向int型数据的指针

D)p是函数名,该函数返回一指向int型数据的指针

18.在C语言中,以(D)作为字符串结束标志。

A)'\n'B)''C)'0'D)'\0'

19.下列数据中属于“字符串常量”的是(A)。

A)“a”B){ABC}C)‘abc\0'D)‘a'

20.在C语言程序中,以#号带头的行是预编译处理(A)。

A)命令B)语句C)函数D)字符串

二、判断题(每题1分,共10分)

1、【V】C语言具有简洁明了的特点。

2、【V】预处理命令的前面必须加一个“#”号。

3、【V】标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。

4、【V】在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

5、【x】continue不是结束本次循环,而是终止整个循环的执行。

6、【x】在对二维数组全部元素赋初值时,不可以省略行数,但能省略列数。

7、【V】函数的实参传递到形参有两种方式值传递和地址传递。

8、【V】直接访问就是直接利用变量的地址进行存取直接访问。

9、【V】共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。

10、【x】文件指针和位置指针都是随着文件的读写操作在不断改变。

1、【V】case语句后如没有break,顺序向下执行。

2、【V】do-while循环至少要执行一次循环语句。

3、【V】定义时,数组名后是用方括号括起来的常量表达式,不能用圆括号。

4、【V】函数形参的存储单元是动态分配的。

5、【x】int(*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。

6、【V】结构体变量可以作数组元素。

7、【x】随机操作只适用于文本文件。

8、【x】表达式语句和表达式没有什么区别。

9、【V】条件运算符?

和:

是一对运算符,不能分开单独使用。

10、【V】函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两

个字符相减得到一个int型值,两个字符串完全相同时,则返回0。

二、判断题(每题1分,共15分)

1、【V】C语言标准格式输入函数scanf()的参数表中要使用变量的地址值。

2、【x】浮点型常量的指数表示中,e是可以省略的。

3、【V】任何表达式语句都是表达式加分号组成的。

4、【x】在switch语句中,每一个的case常量表达式的值可以相同。

5、【x】do-while循环的while后的分号可以省略。

6、【V】用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。

7、【x】C语言函数返回类型的默认定义类型是void。

8、【V】可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。

9、【V】枚举类型中的元素都具有一个整型值。

10、【V】C语言是一种具有某些低级语言特征的高级语言。

三、填空题(每空1分,共20分)

1、一个C源程序中至少应包含一个main函数。

2、a是整型变量,则执行表达式a=25/3%3后a的值为2。

3、intm=5,y=2;则表达式y+=y-=m*=y的值为-16。

4、执行下列语句:

inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);的输出结果

分别是2,1。

5、条件表达式的格式为"表达式1?

表达式2表达式3”,当表达式1为真时,整个条件表达式的值为表达式2的值。

6、C语言中的数组必须先定义,然后使用。

7、如果需要从被调用函数返回一个函数值,被调用函数必须包含return语句。

8、已知:

floatf1=3.2,f2,*pf1=&f1;f2=f1,贝Uf2的值为3.2。

9、字符串常量“123”在内存中的字节数是_4_。

10、已有定义:

intx=3;则表达式:

x=x+1.78的值是4。

11、inta=24;printf("%o",a);输出结果是30。

12、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

13、以下语句charstr[10]={"China"};printf("%d",strlen(str))的输出结果是5。

14、浮点型float变量占4个字节内存,double类型占8字节内存。

15、已知:

intb=5,*p=&b;并且b的地址为4000,则“printf("%d,%d",p,*p);”的输出结果是4000,5。

16、表达式18&&53的值是1。

17、设C语言中int类型数据占4个字节,则long类型数据占4个字节,short类型数据

占2个字节,char类型数据占1个字节。

18、设a=3,则执行++a后,a的值为4。

三、填空题(每空1分,共20分)

1、在C语言程序中,符号常量的定义要使用#define预处理命令。

2、逻辑运算符!

是自右至左结合性。

3、引用C语言标准库函数,一般要用#inelude预处理命令将其头文件包含进来。

4、strcat(字符数组名1,字符数组名2)把字符数组2中的字符串连接到字符数组1

中字符串的后面,并删去字符串1后的串标志“\0”。

5、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是int。

6、数组在内存中占用一段连续的存储空间,它的首地址由数组名表示

7、若有定义:

inta[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是12。

8、在一个C源程序中,单行注释的分界符为//。

9、在C语言程序中,转义字符“\n”的功能是换行。

10、当a=5,b=4,c=2时,表达式a>b!

=c的值是1

12、在C语言程序中,用关键字char定义字符型变量,用double定义双精度浮点

型变量。

13若m是一个三位数,则百位数字为m/100,十位数为(m%100-m%10)/10,个

位数为m%10。

14、执行下列语句:

floata;intb;a=b=24.5/5;printf(“%f”,a);printf(“%d”,b);输出结果是4.000000和4。

15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为10,n的值为6。

1、若a=6,b=4,c=2,则表达式!

(a-b)+c-1&&b+c/2的值是1。

2、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上static修

饰。

3、已有定义intx=0,y=0;,则计算表达式(x+=2,y=x+3/2,y+5)后,表达式的值是8。

4、对数组兀素的引用方法有下标法和指针法两种。

5、要使指针变量与变量之间建立联系,可以用运算符_J_来定义一个指针变量

6、设inta[10],*p=a;则对a[3]的引用可以是p[3]或*(p+3)。

7、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

8、在C语言程序中,用关键字float定义单精度实型变量。

9、若m是一个三位数,则十位数字为m/10-m/100*10。

10、inta=24;printf("%x",a);输出结果是18。

11、设x,y,z均为int型变量,请写出描述"x或y中有一个小于z”的表达式

x

20、

数组chara[2冲的所有元素是a[1]和a[0]

求字符串长度的库函数是strlen(只写函数名即可)。

四、读程序题(每题10分,共30分)1、下面程序段的运行结果是什么。

inti=1,a=0,s=1;

do{a=a+s*i;s=-s;i++;}while(i<=10);printf("a=%d",a);

解答:

a=-5

10分)

2、观察下列程序

(一)和

(二)有什么相同的地方,请写出来。

(一)#includevoidmain()

{

printf("ThisisaCprogram!

\n");

}

(二)#include

voidmain()

{

inta,b,sum;

a=2;b=3;

sum=a+b;

printf("sumis%d\n",sum);

}答案:

#include(3分)voidmain()(3分){(2分)

}(2分)

3、下面程序的运行结果是什么。

#include

main()

{

inti,x,y;

i=x=y=0;

do

{

++i;

if(i%2!

=0){x=x+i;i++;}y=y+i++;

}while(i<=7);printf("x=%d,y=%d\n",x,y);

}

解答:

x=1,y=20

五、编程题(20分)编写一个函数,输出如下的图形

***********

verygood

***********

答案:

#include(3分)

voidmain()(3分)

{(2分)

}(2分)

[此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1