精品文档
湖北师范学院2010年“专升本”招生考试
《C语言程序设计》试题
题号 题分 得分 评卷人 得 分 一 40 二 10 三 30 四 20 五 六 七 八 总分 一、选择题(本题共20小题,每题2分,共40分)
1.以下不合法的用户标识符是( )。A)S2_KEY B)Int C) 4s D)_char 2.设有 int x=11; 则表达式 (++x)%3 的值是( )。A)0 B)1 C)2 D)3 3.C语言源程序名的后缀是( )。
A).exe B).cp C).obj D).c
4.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。
A)scanf(\); B)scanf(\); C)scanf(\); D)scanf(\); 5.C语言中运算对象必须是整型的运算符是 ( )。 A) %= B)/ C) = D) 〈=
6.若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是( )。 A)a[0][4] B)a[0][3] C)a[1][4] D)a[1][3]
7.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是 A)#define N 10 Int a[N] B)#define n 5 Int a[2*n] C)int a[5+5] D)int n=10,a[n] 8.语句printf(\的输出结果是( )。(说明:'\\b'是退格符) A)re'hi'you B)abre'hi'y\\bou C)a\\bre\\'hi\\'y\\bou D)a\\bre\\'hi\\'y\\\\\\bou 9.下列程序执行后的输出结果是( )。 A)A B) B C) F D) G void main()
{ int x='f'; printf(\ 10.若变量已正确定义,有以下程序段 精品文档
精品文档 i=0; do
{printf(\);}while(i++); printf(\) 其输出结果是( )。
A)0,0 B)0,1 C)1,1 D)程序进入无限循环 11. 有以下程序 #include
for(j=3;j<=i;j++) m=m%j; printf(\); }
程序的运行结果是( )。
A)0 B)1 C)2 D)3 12. 已定义以下函数 fun(int *p) { return *p; }
该函数的返回值是( )。
A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 13. 执行下面的程序段后,变量k中的值为( )。 A)10 B) 3 C) 不定值 D) 0 int k=3, s[2]; s[0]=k; k=s[1]*10; 14. 有以下函数 int aaa(char *s) { char *t=s; while(*t++); t--; 精品文档
精品文档 return(t-s); }
以下关于aaa函数的功能叙述正确的是( )。 A)求字符串s的长度 B)比较两个串的大小 C)将串s复制到串t D)求字符串s所占字节数 15. 有以下程序 void main()
{ char s[ ]={ \ ps=s; printf(\ }
程序运行后的输出结果是________。 A)a B)o C)u D)e 16. 有以下程序 #include
#define F(X,Y) X*Y main() { int a=3, b=4;
printf(\ }
程序运行后的输出结果是( )。 A)12 B)7 C)-7 D)11 17. 有以下程序 main()
{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf(\ }
执行后输出结果是( )。
A) 2 5 8 B) 3 6 9 C) 4 5 6 D) 7 8 9 18. 以下关于typedef的叙述错误的是 精品文档
精品文档
A)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名 B)用typedef为类型说明一个新名,通常可以增加程序的可读性 C)typedef只是将已存在的类型用一个新的名字来代表 D)用typedef可以增加新类型 19. 有以下程序
#include
{ FILE *fp; int i; char ch[]=”abcd”,t;
fp=fopen(“abc.dat”,”wb+”); for(i=0;i<4;i++)
fwrite(&ch[i],1,1,fp);
fseek(fp,-2L,SEEK_END);// 说明:SEEK_END为文件尾 fread(&t,1,1,fp); fclose(fp);
printf(“%c\\n”,t); }
程序执行后的输出结果是________。 A)c B)d C)a D)b
20.已知指针p的指向如下图所示,则执行语句 *--p;后*p的值是( )。 A) 20 B)30 C) 19 D) 29
a[0] a[1] a[2] a[3] a[4] 10 20 30 40 50 P 评卷人 得 分 二、填空题(本题共10小题,每题1分,共10分)
1.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,将变量c中大写字母转换为对应小写字母的语句是 _____ 。
2.C语言中用于结构化程序设计的三种基本结构是顺序结构、选择结构、__________ 。
3.设有数组定义: char array [ ]=\则数组 array所占的空间为________ 。
4.若输入字符串:abcde<回车>,则以下while循环体将执行______次。 while((ch=getchar())==’b’) printf(“*”);
5.若有定义:int *p[4];请说明它含义:定义了一个________。 精品文档
精品文档
6.表示“整数x的绝对值不大于10”的C语言表达式是 _________。 7.已知字符A的ACSII码值为65,以下语句的输出结果是_________。 char ch=’B’;printf(“%c%d\\n”,ch,ch); 8.若指针s指向存储单元a[8],p指向存储单元a[0],表达式s-p的值是 _________。 9.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*) __________ ;
10. 设 int b=2;表达式(b<<1)&5的值是__________。 评卷人 得 分 三、程序阅读题(本题共6小题,每小题5分,共30分)
1.有下列程序
void main() {
int n=0,m=1,x=0; if (!n) x=1; if (m) x=2; if (x) x=3; printf(“%d\\n”,x); }
执行后的结果是________。 2. 有以下程序 void main() { int i;
for(i=1;i<=40;i++) { if(i++%5=0)
if (++i%8=0) printf(\ }
printf(\}
执行后的结果是________。 3. 以下程序 void main()
{ char s[]=\ s[1]=‘\\0';
printf(\ }
执行后的结果是________。 4. 有以下程序 void main() 精品文档