《卷6》
一、 填空
1、C语言的三种基本结构是__顺序__结构、选择结构、循环结构.
2、函数调用时的实参和形参之间的数据是单向的__值__传递.
3、已知a=13,b=6, a/b的十进制数值为__2__
4、执行语句char str[81]=\"abcdef\";后,字符串str结束标志存储在str[__6__]
0、1、2、3、4、5、6--\\0
5、为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的__if__语句配对.
6、已知a=13,b=6, a^b的十进制数值为__11__
7、执行下列语句后,*(p+1)的值是__b__
char s[3]=\"ab\
p=s; ---首地址
8、已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是__15__
9、已知 i=5.6;写出语句 a=(int)i; 执行后变量 i 的值是__5.6__ a=5 i不影响
10、设 x 的值为15,n 的值为2,则表达式 x%=(n+3) 运算后 x 的值是__0__
二、 判断
1、在Turbo C中,此定义和语句是合法的:
enum aa{ a=5,b,c}bb;
bb=(enum aa)5;
Y
2、若有int ⅰ=10, j=0;则执行完语句
if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11
N
3、进行宏定义时,宏名必须使用大写字母表示
N
4、7&3+12的值是15。
N
5、a=(b=4)+(c=6) 是一个合法的赋值表达式。
Y
6、char c[]=\"Very Good\"; 是一个合法的为字符串数组赋值的语句。
Y
7、int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。
Y
8、一个include 命令可以指定多个被包含的文件。
N
9、若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,
所以此宏定义是错误的
N
10、若有定义和语句:
int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21.
Y
三、 单项选择
1、以下程序的输出结果是(B)。
main()
{ char s[]=\"123\ 1
p=s; 2
printf(\"%c%c%c\\n\ 3
}
A:123 B:321
C:213 D:312
2、a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是(C)。
A:a*b/a*b==1
B:a/b*b/a==1
C:a/b*b+a%b==a
D:a/b*b==a
3、以下描述中,正确的是(C)。
A:预处理是指完成宏替换和文件包含中指定的文件的调用
B:预处理指令只能位于C源文件的开始
C:C源程序中凡是行首以#标识的控制行都是预处理指令
D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备
4、下列程序的输出为(D)。
main()
{ int y=10;
while(y--);
printf(\"y=%d\\n\
}
A:y=0 B:while构成无限循环
C:y=1 D:y=-1
5、下列运算符中,不属于关系运算符的是(D)。
A:<
B:>
C:>=
D:!
6、设有如下定义: struct sk {int a; float b;} data,*p;
若要使p指向data中的a域,正确的赋值语句是(A)。
A:p=(struct sk*)&data.a;
B:p=(struct sk*) data.a;
C:p=&data.a;
D:*p=data.a;
7、若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是(B)。
A:a=3,b=4
B:a=4,b=3
C:a=4,b=4
D:a=3,b=3
8、以下程序段的执行结果是(C)。
double x;x=218.82631; printf(\"%-6.2e\\n\
A:输出格式描述符的域宽不够,不能输出
B:输出为21.38e+01
C:输出为2.2e+02
D:输出为-2.14e2
9、若有int a[][]={{1,2},{3,4}}; 则*(a+1),*(*a+1)的含义分别为(B)。
A:非法,2
B:&a[1][0],2
C:&a[0][1],3
D:a[0][0],4
10、C语言中,文件由(D)。
A:记录组成
B:由数据行组成
C:由数据块组成
D:由字符(字节)序列组成
一、 填空
1、执行下列语句后,z 的值是__30__
int x=4,y=25,z=5; z=y/x*z;
2、已知a=13,b=6, a&&b的十进制数值为__1__
3、若所用变量均已正确定义,则执行下面程序段后的值是__YESYES__
for(i=0 ; i<2 ; i++ ) printf(\"YES\"); printf(\"\\n\");
4、执行语句char str[81]=\"abcdef\";后,字符串str结束标志存储在str[__6__]
5、C语言表达式!(3<6)||(4<9)的值是__1__
6、已知 i=5;写出语句 a=--i; 执行后整型变量 a 的值是__4__
7、已知a=13,b=6, a/b的十进制数值为__2__
8、若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组中下标最大的元素的值是__2__
9、已知a=13,b=6, a|b的十进制数值为__15__
10、如果函数不要求带回值,可用__void__来定义函数返回值为空.
二、 判断
1、在Turbo C中,整型数据在内存中占2个字节。
N
2、若有说明int c;则while(c=getchar());是正确的C语句。
Y
3、C程序中有调用关系的所有函数必须放在同一个源程序文件中。
N
4、结构体类型只有一种。
N
5、C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的
Y
6、函数strlen(\"ASDFG\\n\")的值是7。
N
7、7&3+12的值是15。
N
8、进行宏定义时,宏名必须使用大写字母表示。
N
9、若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。
Y
10、char c[]=\"Very Good\"; 是一个合法的为字符串数组赋值的语句。
Y
三、单项选择
1、具有相同类型的指针变量p与数组a,不能进行的操作是(D)。
A:p=a;
B:*p=a[0];
C:p=&a[0];
D:p=&a;
2、执行下列语句后的输出为(A)。
int j=-1;
if(j<=1) printf(\"****\\n\");
else printf(\"%%%%\\n\");
A:****
B:%%%%
C:%%%%c
D:有错,执行不正确
3、以下程序的输出结果是(D)。 main()
{int i,j,k,a=3,b=2;
i=(--a==b++)?--a:++b;
j=a++;k=b;
= =!
printf(\"i=%d,j=%d,k=%d\\n\
}
A:i=2,j=1,k=3
B:i=1,j=1,k=2
C:i=4,j=2,k=4
D:i=1,j=1,k=3
4、在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为(A)。
A:0 B:1
C:True D:非0
5、以下运算符中,优先级最高的运算符是(C)。
A:*=
B:>=
C:(类型)
D:+
6、在C语言的函数中,下列正确的说法是(C)。
A:必须有形参
B:形参必须是变量名
C:可以有也可以没有形参
D:数组名不能作形参
7、若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),
则以下程序段的执行结果是(C)。
ch='a'; k=12; printf(\"%x,%o,\
A:因变量类型与格式描述符的类型不匹配,输出无定值
B:输出项与格式描述符个数不符,输出为零值或不定值
C:61,141,k=%d
D:61,141,k=%12
8、C语言程序中,当调用函数时(A)。
A:实参和虚参各占一个独立的存储单元
B:实参和虚参可以共用存储单元
C:可以由用户指定是否共用存储单元
D:计算机系统自动确定是否共用存储单元
9、下列定义不正确的是(C)。
A:#define PI 3.141592
B:#define S 345
C:int max(x,y); int x,y; { }
D:static char c;
10、关于指针概念说法不正确的是(D)。
A:一个指针变量只能指向同一类型变量
B:一个变量的地址称为该变量的指针
C:只有同一类型变量的地址才能放到指向该类型变量的指针变量之中
D:指针变量可以由整数赋,不能用浮点赋
一、填空
1、若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组中下标最大的元素的值是__3__
2、表达式 i++ 相当于表达式____
3、下面程序段的输出结果是____
int a=12;a=a&052;printf(\"%d\\n\
4、已知a=13,b=6, a>>2的十进制数值为____
5、C程序在执行过程中,不检查数组下标是否__越界__
6、已知a=13,b=6, a|b的十进制数值为____
7、复制字符串的库函数是____,只写函数名即可
8、getchar()函数只能接收一个____
9、若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组可用的最小下标值是____
10、合并字符串的库函数是____,只写函数名即可.
二、判断
1、进行宏定义时,宏名必须使用大写字母表示。
2、C程序中有调用关系的所有函数必须放在同一个源程序文件中。
3、通过return语句,函数可以带回一个或一个以上的返回值。
4、关系运算符<= 与 == 的优先级相同。
5、char c[]=\"Very Good\"; 是一个合法的为字符串数组赋值的语句。
6、如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准
7、若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
8、char *p=\"girl\";的含义是定义字符型指针变量p,p的值是字符串\"girl\"。
9、int i=20;switch(i/10){case 2:printf(\"A\");
case 1:printf(\"B\");}的输出结果为A
10、int i,*p=&i;是正确的C说明。
三、单项选择
1、若有下列定义,则对a数组元素地址的正确引用是()。
int a[5],*p=a;
A:*(p+5)
B:*p+2
C:*(a+2)
D:*&a[5]
2、C语言中要求对变量作强制定义的主要理由是(D)。
A:便于移植
B:便于写文件
C:便于编辑预处理程序的处理
D:便于确定类型和分配空间
3、下列数组说明中,正确的是(A)。
A:static char str[]=\"China\";
B:static char str[]; str=\"China\";
C:static char str1[5],str2[]={\"China\
D:static char str1[],str2[];str2={\"China\
4、fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是(C)。
A:字符串读入后不会自动加入'\\0'
B:fp是file类型的指针
C:fgets函数将从文件中最多读入n-1个字符
D:fgets函数将从文件中最多读入n个字符
5、以下运算符中,优先级最高的运算符是()。
A:*= B:>=
C:(类型) D:+
6、在下列程序段中,枚举变量c1,c2的值依次是()。
enum color {red,yellow,blue=4,green,white} c1,c2;
c1=yellow;c2=white;
printf(\"%d,%d\\n\
A:1,6
B:2,5
C:1,4
D:2,6
7、在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的
表达式是(C)。
A:(!E==0)
B:(E>0||E<0)
C:(E==0)
D:(E!=0)
8、以下程序的输出结果为()。
main()
{int i=010,j=10;
printf(\"%d,%d\\n\
}
A:11,10
B:9,10
C:010,9
D:10,9
9、设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A:552
B:144
C:264
D:-264
10、若给定条件表达式(M)?(a++):(a--),则其中表达式M()。
A:和(M==0)等价
B:和(M==1)等价
C:和(M!=0)等价
D:和(M!=1)等价
一、填空
1、若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组中下标最大的元素的值是
2、表达式 i++ 相当于表达式
3、下面程序段的输出结果是【1】.
int a=12;a=a&052;printf(\"%d\\n\
4、已知a=13,b=6, a>>2的十进制数值为【1】.
5、C程序在执行过程中,不检查数组下标是否【1】.
6、已知a=13,b=6, a|b的十进制数值为【1】.
7、复制字符串的库函数是【1】,只写函数名即可.
8、getchar()函数只能接收一个【1】.
9、若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组可用的最小下标值是
10、合并字符串的库函数是【1】,只写函数名即可.
二、判断
1、进行宏定义时,宏名必须使用大写字母表示。
2、C程序中有调用关系的所有函数必须放在同一个源程序文件中。
3、通过return语句,函数可以带回一个或一个以上的返回值。
4、关系运算符<= 与 == 的优先级相同。
5、char c[]=\"Very Good\"; 是一个合法的为字符串数组赋值的语句。
6、如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准
7、若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
8、char *p=\"girl\";的含义是定义字符型指针变量p,p的值是字符串\"girl\"。
9、int i=20;switch(i/10){case 2:printf(\"A\");
case 1:printf(\"B\");}的输出结果为A
10、int i,*p=&i;是正确的C说明。
三、单项选择
1、若有下列定义,则对a数组元素地址的正确引用是()。
int a[5],*p=a;
A:*(p+5)
B:*p+2
C:*(a+2)
D:*&a[5]
2、C语言中要求对变量作强制定义的主要理由是()。
A:便于移植
B:便于写文件
C:便于编辑预处理程序的处理
D:便于确定类型和分配空间
3、下列数组说明中,正确的是()。
A:static char str[]=\"China\";
B:static char str[]; str=\"China\";
C:static char str1[5],str2[]={\"China\
D:static char str1[],str2[];str2={\"China\
4、fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。
A:字符串读入后不会自动加入'\\0'
B:fp是file类型的指针
C:fgets函数将从文件中最多读入n-1个字符
D:fgets函数将从文件中最多读入n个字符
5、以下运算符中,优先级最高的运算符是()。
A:*=
B:>=
C:(类型)
D:+
6、在下列程序段中,枚举变量c1,c2的值依次是()。
enum color {red,yellow,blue=4,green,white} c1,c2;
c1=yellow;c2=white;
printf(\"%d,%d\\n\
A:1,6 B:2,5
C:1,4 D:2,6
7、在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的
表达式是()。
A:(!E==0)
B:(E>0||E<0)
C:(E==0)
D:(E!=0)
8、以下程序的输出结果为()。
main()
{int i=010,j=10;
printf(\"%d,%d\\n\
}
A:11,10
B:9,10
C:010,9
D:10,9
9、设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A:552
B:144
C:264
D:-264
10、若给定条件表达式(M)?(a++):(a--),则其中表达式M()。
A:和(M==0)等价
B:和(M==1)等价
C:和(M!=0)等价
D:和(M!=1)等价
一、填空
1、C语言中调用____函数来打开文件.
2、结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体____,再说明结构体变量.
3、若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组可用的最小下标值是____
4、已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是____
5、预处理命令行都必须以____号开始.
6、若有以下数组a,数组元素:a[0]~a[9],其值为
9 4 12 8 2 10 7 5 1 3
该数组中下标最大的元素的值是____
7、调用 fopen 函数打开一文本文件,在\"使用方式\"这一项中,为追加而打开需填入____
8、输入整型变量a的值.
int a; scanf(\"%d\
9、static int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为____
10、字符串比较的库函数是____,只写函数名即可.
二、判断
1、如果想使一个数组中全部元素的值为0,可以写成
int a[10]={0*10};
2、用fopen(\"file\打开的文件\"file\"可以进行修改。
3、若有int ⅰ=10, j=0;则执行完语句
if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。
4、结构体类型只有一种。
5、关系运算符<= 与 == 的优先级相同。
6、int i,*p=&i;是正确的C说明。
7、a=(b=4)+(c=6) 是一个合法的赋值表达式。
8、共同体变量所占的内存长度等于最长的成员的长度。
9、语句 printf(\"%f%%\输出为 0.333333。
10、C语言中只能逐个引用数组元素而不能一次引用整个数组。
三、单项选择
1、以下标识符中,不能作为合法的C用户定义标识符的是()。
A:answer
B:to
C:signed
D:_if
2、以下程序段的输出结果是()。
char *alp[]={\"ABC\
A:A
B:B
C:D
D:DEF
3、关于指针概念说法不正确的是()。
A:一个指针变量只能指向同一类型变量
B:一个变量的地址称为该变量的指针
C:只有同一类型变量的地址才能放到指向该类型变量的指针变量之中
D:指针变量可以由整数赋,不能用浮点赋
4、C语言程序中,当调用函数时()。
A:实参和虚参各占一个独立的存储单元
B:实参和虚参可以共用存储单元
C:可以由用户指定是否共用存储单元
D:计算机系统自动确定是否共用存储单元
5、以下运算符中,优先级最高的运算符是()。
A:?: B:++
C:&& D:,
6、C语言中,文件由()。
A:记录组成
B:由数据行组成
C:由数据块组成
D:由字符(字节)序列组成
7、以下程序的输出结果为()。
main()
{int i=010,j=10;
printf(\"%d,%d\\n\
}
A:11,10
B:9,10
C:010,9
D:10,9
8、若有下列定义,则对a数组元素地址的正确引用是()。
int a[5],*p=a;
A:&a[5]
B:p+2
C:a++
D:&a
9、下列程序的输出结果是()。
main()
{
printf(\"%d\\n\
}
A:0
B:变量无定义
C:-1
D:1
10、C 语言中以下几种运算符的优先次序()的排列是正确的。
A:由高到低为:!,&&,||,算术运算符,赋值运算符
B:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符
C:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||
D:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符
因篇幅问题不能全部显示,请点此查看更多更全内容