重庆师范大学C语言程序设计测试卷
本试卷为重庆师范大学C语言程序设计测试卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计测试卷
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是________。
( C )
2、对两个数组a和b进行下列初始化: char m[]="1234567"; char n[]={'1','2’,'3','4','5','6','7'};则下列叙述正确的是________。
( D )
3、c语言允许将一条语句写在两行上,下列语句不正确是________。
( C )
4、计算机内部运算使用的数是________。
( C )
5、当从键盘上输入字符"12134211"下面程序的 输出结果是________。
main( )
{
char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{
scanf("%c",&s);
switch(s)
{
default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++;
}
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
( B )
6、有以下程序
main()
{
char p[]={'a', 'b', 'c'} , q[10]={'a', 'b', 'c'} ;
printf("%d %d\n", strlen(p), strlen(q));
}
以下叙述中正确的是________。
( D )
7、有以下程序
#include <stdio.h>
void fun(char *t, char *s)
{
while(*t!=0) t++;
while((*t++=*s++)!=0);
}
min()
{
char ss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s﹨n",ss,aa);
}
程序的运行结果是________。
( D )
8、下面程序段的运行结果是 _____________.
for(i=1;i<=5;)
printf("%d",i);
i++;
( C )
9、下列初始化语句中,正确且与语句 char c[ ]="string"; 等价的是 __________.
( B )
10、c语言的跳转语句中,对于break和continue说法正确的是________。
( D )
11、设有二维数组a(12,10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。则元素a(5,5)的存储地址为________。
( C )
12、下面函数的功能是
char* fun(char* strl,char* str2) {
while((*strl)&&(*str2++=*strl++));
return str2;
}
( C )
13、下列数中为八进制的是______。
( A )
14、若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a<b a:c<d c:d的值是________。
( C )
15、程序的基本控制结构是______。
( B )
16、c语言中的基本数据类型是________。
( C )
17、c语言中,可用于说明函数的是________。
( B )
18、一个字长为8位的无符号二进制整数能表示的十进制数值范围是________。
( C )
19、设有如下说明
typedef struct st
{
long a;
int b;
char c[2];
}
new;
则下面叙述中正确的是______。
( C )
20、若有说明语句:char ch='\x41'; 则ch中______。
( D )
21、合法的数组定义是________。
( A )
22、以下不合法的字符常量是________。
( A )
23、下列程序的执行结果是 ______。
#include<stdio.h>
union un {
int i;
char c[2];
}
void main() {
union un x;
x.c[0]=10;
x.c[1]==1;
printf("\n%d",x.i);
}
( D )
24、有以下函数:fun(char *a,char *b)
{
while((*a!='\0')&&(*b!='\0')&&(*a==*b))
{
a++;
b++;
}
return(*a-*b);
}
该函数的功能是______。
( C )
25、以下能将字符串,you are luck!正确读入的语句组是________。
( C )
26、下列表达式中,类型可以作为int型的是________。
( D )
27、以下程序结果为:______。
void add( )
{
static int y=4;
y--;
printf("%d",y);
}
main( )
{
int m;
for(m=0;m<4;m++)add( );
}
( C )
28、设有以下语句:char str1[]="string",str2[8],*str3,*str4="string"; 则下列选项中,______不是对库函数strcpy的正确调用,此库函数用来复制字符串。
( B )
29、以下叙述中错误的是______。
( D )
30、有以下程序______。
#include <stdio.h>
main()
{
file *fp;
int k,n,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.dat","r");
fscanf(fp,"%d%d",&k,&n);
printf("%d%d\n",k,n);
close(fp);
}
程序运行后的输出结果是______。
( C )
31、已知int x=10,y=20,z=30; 以下语句:if(x<y) z=x; x=y; y=z; 执行后x,y,z的值是________。
( D )
32、c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是________。
( B )
33、int a=10; 下列哪个选项的值不是20?
( B )
34、c语言中,关系表达式和逻辑表达式的值是________。
( D )
35、以下对一维数组c 进行正确的定义初始化的语句是________。
( C )
36、c 语言中的标识符第一个字符。
( B )
37、有以下程序
main()
{
int a[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{
ptr=a+i;
scanf("%d",ptr);
ptr++;
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++) printf("%2d",a[i][j]);
printf("\n");
}
}
若运行时输入:1 2 3<回车>,则输出结果是______。
( A )
38、下列对字符串的定义中,错误的是________。
( D )
39、以下合法的常量是________。
( D )
40、非法的字符常量是________。
( A )
41、以下关于 c 语言数据类型使用的叙述中错误的是________。
( A )
42、指针变量p进行自加运算(即 执行p++;)后,地址偏移值为4,则其 数据类型为________。
( C )
43、以下运算符中优先级最低的是________。
( D )
44、以下叙述正确的是________。
( B )
45、有语句char str1[10],str2[10]={"china"};
则能将字符串china赋给数组str1的正确语句是________。
( C )
46、以下程序的运行结果是________。
main()
{
int m=5;
if(m++>5) printf("%d",--m);
else printf("%d",m++);
}
( C )
47、以下描述正确的是________。
( C )
48、与下面程序段等价的是________。
for(n=100;n<=200;n++)
{
if(n%3==0) continue;
printf("%4d",n);
}
( D )
49、判断字符串a 和b 是否相等,应当使用。
( B )
50、以下程序的输出结果是()。
main()
{ char s[]="123",*p;
p=s;
printf("%c%c%c\n",*p++,*p++,*p++);
}
相关标签:
- C语言
- 重庆师范大学
- 测试卷