C语言程序设计10A卷试题及答案
杭州电子科技大学学生考试卷( A )卷
考试课程程序设计基础考试日期年月 日成 绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业
注意:
所有答案均写在答题纸上,写在试卷上无效;
考试结束后请将试卷和答题纸一起交上来。
试题中若出现C源代码,考虑源代码的大小写,不考虑标点符号的中英文状态;
本试题中C代码的开发环境为Microsoft Visual C++6.0,运行环境为Windows2000/XP系统;
当题目中只有程序片段时,假设完整程序已经具有其它必要代码且能够正确运行,如包含相应的库文件、main()函数的定义等。
试题一、单项选择题(每小题 2 分,共 30 分)
1. 下列哪个标识符是C语言中的合法标识符( )
A、1student B、 int C、Float D、 void
2. 与语句if(!x) 等价于( )
A、x==0 B、x==1 C、x != 0 D、x != 1
3.设有整型变量x,下列说法中,错误的是( )
A、”5.0” 是表达式 B、”x” 是表达式 C、”!x” 是表达式 D、”sqrt(x)” 是表达式
4. 已知i=3,则printf (“%d”, -i++) 的输出结果为( )
A、-4 B、 -3 C、-2 D、 以上均不对
5.判断下面while循环体的执行次数( )
i=0;
k=10;
while(i==8) i=k--;
A、1次 B、2次 C、8次 D、无数次
6. 下列语句中与语句 while(1){if(i>100)break;s+=i;i++;} 功能相同的是( )。
A、for(;i<100;i++) s=s+i; B、for(;i<100;i++;s=s+i);
C、for(;i<=100;i++) s+=i; D、for(;i>=100;i++;s=s+i);
7. 定义char s[ ]={"Girl"},t; 执行下面语句段后输出结果是( )。
s[0]=s[2];
s[2]=s[0];
s[1]=s[4];
s[4]=s[1];
printf("%c,%s \n", s[0], s);
A、r,Girl B、r,r C、r,lirG D、r,Gril
8. 有数组定义语句”char a[20]”, 则正确的输入语句为( )
A、 scanf(“%s”, &a) B、scanf(“%s”, a[]) C、 gets(a[20]) D、gets(a)
9.?如有数组定义语句”int a[3][4]” ,则对a中数组元素的正确引用是( )
A、 a[3][1] ?B、a[2,1] ?C、 a[3][4]? D、 a[3-1][4-4]
10. C语言中的基本数据类型作为实参时,它和对应的形参之间的数据传递方式是( )
A、传地址 B、传数值,形参值改变后,影响实参值
C、传数值,形参值改变后,不影响实参值 D、既可以传地址,也可以传值
11. 根据下面函数f,选出f(f(3))的值( )
int f(int x)
{
static int k=0;
x+=k--;
return x;
}
A、5 B、3 C、2 D、4
12. 指针变量 p1,p2 类型相同,要使 p1,p2 指向同一变量,哪个语句是正确的( )
A、p2=*&p1; B、p2=**p1; C、p2=&p1; D、 p2=*p1;
13. int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a.i; 则下列能够正确表示数组元素地址的是( )
A、&(a+1) B、a++ C、 &p D、&p[i]
14. 若有以下结构体数组的定义语句:
struct teacher {
int num;
char name[10];}thr[2]={1,”zhangsan”,2,”lisi”} 则以下能输出字符串”lisi”的语句是()
A、 printf(“%s”,thr[0].name); B、 printf(“%s”,thr[1].name);
C、 printf(“%s”,thr[0].name[0]) ;