c语言试题库1
一、填空
1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序有且仅有一个main( ) 函数。
3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。
4.C语言可以用来实现循环的结构化语句是while、do while、for。
5.数组名表示数组在内存的首地址。
6.int a=3,*p=&a*p+2的值是5。
7.在C语言中,变量的存储类别有四种,它们是自动的,静态的,
c语言中struct动态的和寄存器的。
8.对_extern_和_static__型数组不赋初值,系统会对所有元素自动赋以0
值。
9.C语言中“文件包含”是通过___#include___命令完成的,而符号常
量是通过___#define_________命令定义的。
10.对于数组x[5][5],*(x+2)+3表示__&x[2][3]_ ___,
*(x[3]+2)表示___ x[3][2]_______。
11.若定义:struct {int y, m, d;} today, *pdata; 则为today分配内存
_6___ 字节,为pdata分配内存_2___字节。
12.C语言文件按数据的存放形式可分为__文本_文件和__二进制文件。
13.C语言文件是一个__字符____序列,这类文件称为___流____文件。
二、单项选择
1.关于字符常量和字符串常量的描述,错误的是( B )。
A 字符常量是用一对单引号括起来的单个字符。
B 字符常量可以是单引号。
C 字符串常量(简称字符串)是用一对双引号括起来的字符序列。
D 字符串常量可以包含转义字符。
2.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。
(A)2.7 (B)3.7(C)4.7 (D)4.03 3.执行下面两个语句后,输出的结果为___D__。
char c1=98;
printf(“%d %c”,c1,c1-32);
(A)97 66 (B)98 b (C)b 66 (D)98 B 4.用scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是 A 。
(A)123,4 (B)123 4 (C)123;4 (D)5.以下关于运算符优先顺序的描述中正确的是_____C___
(A)关系运算符<算术运算符<赋值运算符<逻辑与运算符
(B)逻辑与运算符<关系运算符<算术运算符<赋值运算符
(C)赋值运算符<逻辑与运算符<关系运算符<算术运算符
(D)算术运算符<关系运算符<赋值运算符<逻辑与运算符6.下列程序段中,功能与其它程序段不同的是 B 。
(A)for(i=1,p=1;i<=5;i++) p*=i;
(B)for(i=1;i<=5;) { p=1;p*=i;i++;}
(C)i=1;p=1;while(i<=5) { p*=i;i++;}
(D)i=1;p=1;do { p*=i;i++;} while(i<=5);
7.C语言规定else总是与 D 配对。
(A)缩进位置相同的if (B)同一行上的if
(C)其之前最近的if (D)其之后最近的if
8.以下程序的运行结果为__A____。
main()
{ int n;
for( n=1;n<=10;n++)
{ if( n%3==0) continue;printf(“%d”,n);}
}
(A)12457810(B)369 (C)12 (D)12345678910 9.设x和y均为int型变量,则语句x+=y;y=x-y;x-=y;的功能是 D 。
(A)把x和y按从大到小排列(B)把x和y按从小到大排列
(C)无确定结果(D)交换x和y中的值
10.变量的指针,其含义是指该变量的_B____
(A)值(B)地址(C)名(D)一个标志
11.以下函数调用语句中含有 A 个实参。
func((e1,e2),(e3,e4,e5));
(A)2 (B)3 (C)5 (D)语法错误
12.以下正确的描述是____B____
(A)continue语句的作用是结束整个循环的执行
(B)只能在循环体内和switch语句体内使用break语句
(C)在循环体内使用break语句或continue语句的作用相同
(D)goto语句只能用于退出多层循环
13.以下程序运行的结果是 D 。
main()
{int a=2,b=3,c=2;
if(a<b)< p="">
if(a<c)< p="">
c--;
else
c+=1;
printf(“%d\n”,c);
}
(A)0 (B)1 (C)2 (D)3
14.以下叙述正确的是 C 。
(A)在C程序中,main函数必须位于程序的最前面。
(B)C程序每行中只能写一条语句。
(C)C语言本是没有输入输出语句。
(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
15.以下叙述不正确的是 D 。
(A)逗号运算符的运算级最低。
(B)ABC和abc是两个不同的变量。
(C)若a和b类型相同,在执行a=b后,b的自身值不变。
(D)‘a’和“a”是完全等价的常量。
16.执行下面语句后的结果为 C 。
y=10;x=y++;
(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 17.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。
(A)double (B)char (C)int (D)float
18.C语言中要求操作数必须是整数的运算符是 B 。
(A)/ (B)%(C)!= (D)=
19.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。
(A)28 (B)30 (C)60(D)17
20.int a[4]={2,3,4},I;
i=a[0]*a[1]+a[2]*a[3];
i的值为 C 。
(A)2 (B)4 (C)6 (D)10
21.以下正确的函数定义形式是 C 。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。