2013年《C语言程序设计基础》期末考试试卷‘A’及答案
一、单选题 (每小题2分,共0分)以下不合法的C语言标识符是( )。
A、_1 B、Int C、a_b D、a--b
2.设a和b均为float型变量,且a=55、b=25,则表达式(int)a+b/b的值是( )。
A、6.500000 B、6
C、5.500000 D、6.000000
3.以下叙述错误的是( )。
A、一个C程序可以包含多个不同名的函数
B、一个C程序只能有一个主函数
C、C程序在书写时,有严格的缩进要求,否则不能编译通过
D、C程序的主函数必须用main作为函数名
4.若a 是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:( )。
A、1 B、0 C、2 D、不知道a 的值,不能确定
5.巳知字母A的ASCII码是65,以下程序的执行结果是 ( )
#include
main()
{ char c1='A',c2='Y';
printf("%d,%d\n",c1,c2); }
A、A,Y B、65,89 C、65,90 D、65, 65
6.以下一维数组初始化语句中,正确的是( )。
Aint a[5]={1,2}; B、int a[5]={};
C、int a[5]={5*2} D、int a[]=(1,2,0,0,0);
7.若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。
Acd\0e B、'c''d' C、cd D、cd e
8.设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是( )。
A、x++; printf(“%d\n”,x);?
B、n=++x; printf(“%d\n”,n);
C、++x; printf(“%d\n”,x);??
D、n=x++; printf(“%d\n”,n);
9.下面程序的输出结果是( )。
main( )
{ int i, x[3][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<4;i+=2) printf(″%d″, x[i][1]);
}
A、 51B、 52
C、 82D、 93
10.若k是int类型变量,且有以下for语句
for(k=-1;k<0;k++) printf(“****\n");
下面关于语句执行情况的叙述中正确的是( )。
A、循环体执行一次???????B、循环体执行两次
C、循环体一次也不执行???D、构成无限循环
11.若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为( )。
A、0和1?? B、0和20???C、10和1? D、10和20
12.下列表达式的值为0的是( )。
A、 3﹪5 B 3/5.0 C、3<5 D、3/5
13.以下程序段的输出结果是( )。
int a=10,b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf(“a=%d b=%d c=%d\n”,a,b,c);
A、a=10 b=50 c=10B、a=10 b=30 c=10
C、a=50 b=30 c=10D、a=50 b=30 c=50
14.下面结构体的定义语句中,错误的是( )。
A、struct ord {int x; int y; int z;}; struct ord a;
B、struct ord {int x; int y; int z;}a;
C、struct ord {int x; int y; int z;} struct ord a;
D、struct {int x; int y; int z;} a;
15.已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为( )。A、p[0]???B、*p C、&*a??? D、*&a
二、填空题(每空2分,共20分)
字符串""的占内存长度是。 strlen(“apple”)的值为 。
18.根据变量的作用域可将变量分为局部变量和全局变量,定义在函数内部的变量和函数的形参都是_____