江苏省计算机等级考试。
学年第学期 c程序设计试卷( )
一、选择题(本题共20道小题,共40分。)
1. 以下程序运行后,输出结果是(超纲)
main( )
char *s="abcde";
s+=2;printf("%ld",s);
a)cde b)字符c的ascii码值 c)字符c的地址 d)出错。
2. 下面程序的运行结果是。
main()
char ch[7]=;
int i,s =0
for(i=0;ch[i]>=0'&&ch[i]<'9';i+=2)
s=10*s+ch[i]-'0';
printf("%d",s);
a)12ba56 b)6521 c)6 d)62
3. 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是(超纲)
a)*p=&a; scanf("%lf",p);
b)p=(double*)malloc(8);scanf("%f",p);
c) p=&a;scanf("%lf",a);
d)p=&a; scanf("%le",p);
4. 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:
int *p;(超纲)
pmalloc( sizeof(int));
则应填入。a) intb) instc) (int) d) (int *)
5. 若k是int型变量,且有下面的程序片段:
k=-3;if(k<=0) printf("####
else printf("&
上面程序片段的输出结果是。
abcd) 有语法错误,无输出结果。
6. 以下程序运行后,输出结果是。
#include<>
#define pt 5.5
#define s(x) pt*x*x
main( )
int a=1,b=2;
printf("%4.1f",s(a+b));
a)49.5 b)9.5 c)22.0 d)45.0
7. 设有以下语句:(超纲)
struct st ;
static struct st a[3]=,p;
p=&a[0];
则表达式___的值是6。
a)p + n b) p->n + c) (p).nd) +p->n
8. 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为。
if(aif(celse if(aif(belse x=3;
else x=6;
else x=7;
a)1 b)2 c)3 d)6
9. 下面程序的输出是(超纲)
a) xyzabcabc b) zabcabcc) yzabcabcd) xyabcabc
#include<>
#include<>
main()
char *p1="abc",*p2="abc",str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s", str);}
10. 执行以下程序后,y的值是(超纲)
main (
int a=
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)y + p + x);
printf("%d",y);
a) 17b) 18c) 19d) 20
11. 设已有定义: char *st="how are you"; 下列程序段中正确的是(超纲)
a) char a[11], p; strcpy(p=a+1,&st[4]);
b) char a[11]; strcpy(++a, st);
c) char a[11]; strcpy(a, st);
d) char a,p; strcpy(p=&a[1],st+2);
12. 若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是(超纲)
a) i= *pb) *p=*&j
c) i=&jd) i=* p;
13. 执行语句:for(i=1;i++<4;)后;变量i的值是。
a)3 b)4 c)5 d)不定。
14. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。
main( )
int x;
scanf("%d",&x);
if(x++ 5) printf("%d",x);
else printf("%d",x
a) 7和5 b) 6和3 c) 7和4 d) 6和4
15. 有以下程序(超纲)
int fun(int x,int y,int *cp,int *dp)
*cp=xy;*dp=x--y;}
main()
int a,b,c,d;
a=30;b=50;
fun(a,b,&c,&d);
printf("%d,%d",c,d);
输出结果是。
a)50,30b)30,50
c)80,-20d)80,20
16. 设有数组定义: char array [ china"; 则数组 array所占的空间为。
a) 4个字节 b) 5个字节 c) 6个字节 d) 7个字节。
17. 以下程序运行后,输出结果是(超纲)
fut(int **s, int p[2][3])
*s=p[1][1];
main()
int a[2][3]=,p;
p=(int *)malloc(sizeof(int));
fut(&p,a);
printf("%d",*p);
a)1 b)7 c)9 d)11
18. 设j为int型变量,则下面for循环语句的执行结果是。
for(j=10;j>3;j--)
if(j%3)j--;
-j;--j;
printf("%d ",j);
a)6 3 b)7 4 c)6 2 d)7 3
19. 设c语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为:
a) 0-255
b) 1-32767
c) 0-65535
d) 0-2147483647
20. 设有如下定义:(超纲)
int (*ptr)*(
则以下叙述中正确的是。
a)ptr是指向一维组数的指针变量。
b)ptr是指向int型数据的指针变量。
c)ptr是指向函数的指针,该函数返回一个int型数据。
d)ptr是一个函数名,该函数的返回值是指向int型数据的指针。
二、填空题(每空1分,共10分。)
1. c语言数组的下标总是从开始,不可以为负数;构成数组各个元素具有相同的。
2. 在c语言中(以16位pc机为例),一个char数据在内存中所占字节数为___一个int数据在内存中所占字节数为___一个long数据在内存中所占字节数为___一个float数据在内存中所占字节数为___
3. c程序是由___构成的,一个c程序中至少包含因此,__是c程序的基本单位。
4. 假定一个二维数组为a[m][n],则a[i]的地址值(以字节为单位)为。
三、判断题(本题共10道小题,共10分。)
1. 若a是实型变量,c程序中允许赋值a=10,因此实型变量中允许存放整型数( )
2. 全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求( )
3. 若调用一个函数,且此函数中没有return语句,则返回一个不确定的值( )
4. 用户若需要调用标准库函数,调用前必须重新定义( )
5. 函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2复制到串str1中后再将串str3连接到串str1之后( )
6. 在实际编程中,do-while循环完全可以用for循环替换( )
7. c程序的注释只能是一行( )
8. 自增运算符(++或自减运算符(--只能用于变量,不能用于常量或表达式( )
9. 在函数内的复合语句中定义的变量在本函数范围内有定义( )
10. 一个变量在内存中占据一定的存储单元( )
四、程序填空(本题共5道小题,每题4分,共20分。)
1. 以下程序统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志,请填空。
#include <>
#include <>
main( )
int num[26],i; char c;
for(i=0; i<26; i++)num[i]=0;
while统计从终端输入的大写字母个数*/
if( isupper(c)) num[c-65]+=1;
for(i=0; i<26; i++)输出大写字母和该字母的个数*/
if(num[i]) printf("%c:%d,inum[i]);
2. 以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。素数是只能被1和本身整除且大于1的自然数。
c语言试卷c
a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...
C语言试卷A
青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...
C语言试卷
一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...