装订线。
试卷★考试时间共120分钟★
提示:本页为答题纸,所以题的答案都写在本页相应题号后面,写在其他地方无效。
一、 选择题。
二、 填空题。
三、 程序分析题(有格式要求的,书写时包括相应的输出格式)
1. 程序运行结果是2. 程序运行结果是:
3. 程序运行结果是4. 程序运行结果是:
5. 程序运行结果是6. 程序运行结果是:
四、 程序设计题(从4个题中选作3题,每题12分,共36分)
1. 若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
a.数组的首地址 b. 数组的第一个元素值 c.数组中全部元素的值 d. 数组元素的个数。
2. 判断两个字符串s1和s2相等,应当使用( )
a. if (s1 ==s2) b. if (s1 = s2) c. if (!strcmp(s1,s2)) d. if (strcmp(s1,s2))
3.下列优先级最低的算符是( )
a. &b. &c. |d. =
4.定义数组a[m][n],则在元素a[i][j]之前的元素个数为( )
a. j*n+i b. i*n+j c. i*n+j-1 d. i*n+j+1
5.已知int j,i=1;执行语句“j=i++;后,变量i的值是( )
a. 1 b. 2 c. –1 d. -2
6.已知int i,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是( )
a. 6 b. 12 c. 30 d. 36
7.有如下程序:
int main()
float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf(“%f”,y); 该程序的输出结果是( )
a. 0.000000 b. 0.250000 c. 0.500000 d. 1.000000
8. 以下数组定义中不正确的是( )
a. int a[2][3b. int b[3]=,
9. 有如下程序。
int main()
int i,sum;
for(i=1;i<=3;sum++)sum+=i;
printf(“%d”,sum);
该程序的执行结果是( )
a.6 b. 3 c. 死循环 d. 0
10. 下列对字符串的定义中,错误的是( )
a. char str[7] =fortran"; b. char str fortran";
c. char *str = fortran"; d. char str[7] =
11.在下面的函数声明中,存在着语法错误的是( )
a. void bc(int a, int ) b. void bd(int, int) c.
int be(int, int) d. int bf(int x; int y )
12.若有以下的定义:int t[3][2];能正确表示t数组元素首地址的表达式是( )
a.&t[3][2] b. t[3c. t[1d. t[0]
13. 有如下定义
struct person
char name[9];
int age;};
struct person class[10]=;
根据上述定义,能输出字母m的语句是( )
printf(“%c”,class[3].name[0]);
printf(“%c”,class[2].name[0]);
14. 以下程序的输出结果是( )
int a, b;
void fun()
a=100; b=200; }
main()
int a=5, b=7;
fun();
printf("%d%d ", a,b);
a. 100200 b. 57 c. 200100 d. 75
15. 以下定义语句中,错误的是( )
a. int a=1,2b. char *a[3]; c. char s[10]="test"; d. int n=5,a[n];
16. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )
a. scanf(“%f”,&c); b. scanf(“%8.4f”,&cc. scanf(“%6.2f”,&c); d. scanf(“%8”,&c);
17. 以下说法中正确的是。
a. 在c语言中,实参与其对应的形参各占独立的存储单元;
b. 在c语言中,实参与其对应的形参共占同一个存储单元;
c. 在c语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;
d. 在c语言中,形参是虚拟的,不占存储单元。
18. 分析下面的**:
#include<>
voidmain()
inta;scanf("%d",&a);
switch(a)
case1:printf("星期一");case2:printf("星期二");case3:printf("星期三");case4:printf("星期四");
case5:printf("星期五");case6:printf("星期六");case7:printf("星期日");default:printf("输入错误");
若a=6,则输出结果是()。
a. 星期六 b. 星期六星期日 c. 星期六星期日输入错误 d. 输入错误。
19. 分析下面的**:
if(x>20||x<-10)
if(y<=100&&y>x)
printf("good");
elseprintf("bad");
如果x=30,y=150,输出为()。
a. good b. bad c. good bad d. bad good
20. 假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句:u=(a==2)?b+a:c+a;执行该语句后整型变量u的值为()。
a. 0 b. 3c. 4d. 5
21. 分析下面的c语言**:
inta=1,b=10;
do{b-=a;a++;
while(b--<0);
则执行循环语句后b的值为。
a. 9 b. -2 c. -1 d. 8
22. c语言中,while和do…while循环的主要区别是。
a. while的循环控制条件比do…while的循环控制条件严格 b. do…while的循环体至少无条件执行一次。
c. do…while允许从外部转到循环体内d. do…while的循环体不能是复合语句。
23. 在c语言中是在所有函数外部声明的。
a. 全局变量 b. 局部变量 c. 形参 d. 实参。
24.在c语言中,能正确表示a和b同时为正或同时为负的逻辑表达式是( )
a. (a>=0‖b>=0)&&a<0‖b<0) b. (a>=0&&b>=0)&&a<0&&b<0) c. (a+b>0)&&a+b<=0) d. a*b>0
25. 分析下面的c**段:
charstr1[15]="se**iew";
charstr2[15]="seabreeze";
strcpy(str1,str2);
printf("%s",str1);
则输出结果是。
a. se**iew b. seabreeze c. se**iewseabreeze d. seabreezese**iew
1. c语言中用表示逻辑值“假”,用表示逻辑值“真”。
2. char *p[10]; 这条语句的含义是: 。
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 语言的参数传递机制包括传...