青海师范大学C语言测试卷
本试卷为青海师范大学C语言测试卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言测试卷
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、若变量已正确定义,有以下程序段
int i=0;
do
printf("%d,",i);
while(i++);
printf("%d",i) 其输出结果是________。
( B )
2、若程序中有宏定义行:#define N 100,则以下叙述中正确的是________。
( C )
3、有以下程序:
int f(int n);
main()
{
int a=3,s;
s=f(a);
s=s+f(a);
printf("%dkn",s);
}
int f(int n)
{
static int a=1;
n+=a++;
return n;
}
程序运行后的输出结果是________。
( B )
4、结构化程序所要求的基本结构不包括( )。
( C )
5、设有定义:"double x[10],*p=x; ",以下能给数组x下标为6的元素读人数据的正确语句是________。
( B )
6、c语言对嵌套if语句的规定是:else总是与( ) 。
( A )
7、以下4组用户定义标识符中,全部合法的一组是________。
( A )
8、有定义语句:int x, y; 若要通过scanf("%d,%d",&x,&y); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是________。
( C )
9、若有定义:int aa[ 8]; 则以下表达式中不能代表数组元aa[1]的地址的是________。
( B )
10、若有以下定义 int x[10], *pt=x; 则对x数组元素的正确引用是________。
( B )
11、语句int *p; 说明了 。
( C )
12、以下正确的叙述是______。
( A )
13、如果 c 为字符型变量,判断 c 是否为空格不能使用 __________.( 假设已知空格 ascii 码为 32)
( D )
14、执行下列程序后的输出结果是 _________.
#include <stdio.h>
void main( )
{
int k=4,a=3,b=2,c=1;
printf("%d\n",k<a?k:c<b?c:a);
}
( C )
15、在定义 int a[5][4]; 之后 , 对 a 的引用正确的是__________。
( B )
16、设有以下函数:
#include <stdio.h>
int f(int a)
{
int b=0,c;
c=3;
b++ ;
c++;
return (a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是 ______.
void main()
{
int i;
for(i=0;i<3;i++)
printf("%d\n",f(i));
}
( D )
17、c语言中下列叙述正确的是_______。
( A )
18、以下选项中,与k=n++完全等价的表达式是________。
( A )
19、下面关于形参与实参的说法,正确的是________。
( C )
20、for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是________。
( C )
21、对于条件表达式(k)(i++):(i--)来说,其中的表达式k等价于( )
( D )
22、在下面语句中,其含义为"p为指向含n个元素的一维数组的指针变量"的定义语句是________。
( D )
23、在16位pc机上使用c语言,若有如下定义
struct data {
int i;
char ch;
double f;
} b;
则结构变量b占用内存的字节数是________。
( A )
24、表示关系x<=y<=z的c语言表达式为______。
( C )
25、以下选项中属于c语言数据类型的是________。
( D )
26、二维数组a的成员是6个字符组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放a至少需要 (44) 个字节。
( A )
27、下列哪个是c语言的有效标识符
( D )
28、下列字符串中,不可以用作c标识符的是________。
( A )
29、以下程序的输出结果是 long fun(int n) {
long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;
}
main() {
printf("%ld\n",fun(3));
}
( D )
30、若有说明语句 char a[ ]="it is mine"; char *p="it is mine"; 则以下不正确的叙述是________。
( D )
31、下列字符常量的写法中,正确的是________。
( B )
32、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若有p=&data;
则对data中成员a的引用正确的是________。
( B )
33、有以下程序
main()
{
unsigned char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf("%d\n",d);
}
程序运行后的输出结果是______。
( C )
34、执行语句for(i=1;i<4;i++ ); 后变量i的值是________。
( A )
35、若变量已正确定义,对以下while循环结束条件的准确描述是________。
flag = 1;
denominator = 1;
item = 1.0;
pi = 0;
while(fabs(item) >= 0.0001)
{
item = flag * 1.0 / denominator;
pi = pi + item;
flag = -flag;
denominator = denominator + 2;
}
( B )
36、以下对局部变量描述错误的是________。
( A )
37、以下求 n! 的函数可以正确计算21!,正确的选项是________。_______ fact(int n)
{
int i;
_______ product;
product = 1;
for (i = 1; i <= n; i++)
{
product = product * i;
}
return product;
}
( B )
38、下关于运算符优先顺序的描述中正确的是________。
( C )
39、下列不正确的转义字符是________。
( D )
40、对于 if(表达式)语句,以下说法正确的是________。
( C )
41、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
( D )
42、int i,j,a[2][3]; 按照数组a的元素在内存的排列次序,不能将数 1,2,3,4,5,6存入a数组的是________。
( D )
43、若char a[10]; 已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是________。
( B )
44、c语言源程序文件经过c编译程序编译后生成的目标文件的后缀为
( A )
45、对于用"r"方式打开文件下列说法正确的是________。
( C )
46、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s+2;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
( C )
47、语句int (*ptr)(); 的含义是______。
( C )
48、下述标识符中, ( )是合法的用户标识符。
( D )
49、以下不正确的说法是____
( C )
50、若有以下数组说明,则i=10;a[a[i]]元素数值是____。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
相关标签:
- C语言
- 青海师范大学
- 测试卷