您的当前位置:首页正文

2014模拟C语言试题-02

2023-04-18 来源:爱站旅游
导读2014模拟C语言试题-02
精通教育集团-软件学院专业课集训营资料 2014年天津市大学软件学院高职升本专业课模拟试题-02 考场号 考生号 姓名 第一部分 C语言部分 100分 一、单项选择题(共25小题,每题2分,共50分)

以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表”对应的格中,未填入答题表,错选或多选均不得分。

1. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符

A. 必须为字母 B. 必须为下划线

C. 必须为字母或下划线 D. 可以是字母、数字和下划线中的任意一种 2. 以下描述中正确的是

A. 由于do-while循环中循环体语句只能是一条可执行语句,故循环体内不能使用复合语句 B. 在while循环体中,循环体至少要执行一次

C. 在do-while循环体中,循环体至少无条件的执行一次

D. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 3. 以下程序的输出结果是

#include main()

{ int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}, *p[4],i; for(i=0;i<4;i++) p[i]=&a[i*3];

printf(\"%d\\n\}

A. 4 B. 6 C. 8 D. 12 4. 下面函数调用语句含有实参的个数为

y=func(a,b,max(d,e));

A. 5 B. 2 C. 3 D. 4 5. 在C语言中,表示“在使用x之前,先使x的值加1”的正确方式是

A. ++x B. x++ C. +x D. +x+ 6. 在C语言中,char型数据在内存中的存储形式是

A. 补码 B. 反码 C. 原码 D. ASCII码 7. 当说明一个结构体变量时系统分配给它的内存是

A. 各成员所需内存的总和 B. 结构中第一个成员所需内存量 C. 成员中占内存量最大者所需的容量 D. 结构中最后一个成员所需内存量 8. 设有如下定义:

int (*ptr)(); 则以下描述中正确的是 A. ptr是指向一维数组的指针变量 B. ptr是指向int型数据的指针变量

C. ptr是指向函数的指针变量,该函数返回一个int型数据 D. ptr是一个函数名,该函数的返回值是指向int型数据的指针 9. 对两个数组a和b进行如下初始化

char a[]=\"ABCDEF\";

char b[]={'A','B','C','D','E','F'}; 则以下叙述正确的是

A. a与b数组完全相同 B. a与b长度相同 C. a和b中都存放字符串 D. a数组比b数组长度长

1

精通教育集团-软件学院专业课集训营资料

10. 对下面的程序段

for(t=1;t<=100;t++) { sacnf(\"%d\ if(x<0) continue; printf(\"%3d\ }

叙述正确的是

A. 当x<0时整个循环结束 B. x>=0时什么也不输出

C. printf函数永远都不执行 D. 最多允许输出100个非负整数 11. 判断char型变量ch是否为大写字母的正确表达是

A. 'A'<=ch<='Z' B. (ch>='A')&(ch<='Z') C. (ch>='A')&&(ch<='Z') D.('A'<=ch)AND('Z'>=ch) 12. 若i为整数变量,则以下循环执行次数是

for(i=2;i!=0;) printf(\"%d\

A. 无限次 B. 0次 C. 1次 D. 2次 13. 若有说明:int a[3][4]; 则对a数组元素的正确引用是

A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(3) 14. 以下程序运行结果是

#include main() { int m=6;

if(m++>6) printf(\"%d\\n\ else printf(\"%d\\n\}

A. 4 B. 5 C. 7 D. 6 15. 以下程序的输出结果是

#include

int f(int n) { if(n==1) return 1; else return f(n-1)+1; } main()

{ int i,j=0;

for(i=1;i<3;i++) j+=f(i); printf(\"%d\\n\}

A. 4 B. 3 C. 2 D. 1 16. 以下正确的函数定义形式是

A. double fun(int x,int y) B. double fun(int x;int y) C. double fun(int x,int y); D. double fun(int x,y) 17. 设有以下说明语句:

struct ex { int x; float y; char z; } example;

2

精通教育集团-软件学院专业课集训营资料

则下面的叙述中不正确的是 ...

A.struct是结构体类型的关键字 B. example是结构体变量名 C. x,y,z都是结构体成员类型名 D. struct ex是结构体类型名 18. 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是 ..A. *p B. a[10] C. *a 19. 若有定义:int a=8,b=5,c;c=a/b+0.4;后,c的值为

A. 1.4 B. 1 C. 2.0 20. 在C语言中,以下错误的描述是 ..

D. a[p-a] D. 2

A. 函数调用可以出现在执行语句中 B. 函数调用可以出现在一个表达式中

C. 函数调用可以作为一个函数的实参 D. 函数调用可以作为一个函数的形参 21. 若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是

A. p+1 B. *(p+3) C. *(p+1)+3 D. *(p[0]+2)) 22. 在下列#include命令中,正确的一条是

A.#include [string.h] B. #include {math.h} C.#include (stdio.h) D. #include

23. 若x为int型的变量,则当x为奇数时值为“真”, x为偶数时值为“假”的表达式为

A. !(x%2==1) B. x%2==0 C. x%2 D. !(x%2) 24. 设有以下语句

typedef struct S { int g; char h; } T;

则下面叙述中正确的是

A.可用S定义结构体变量 B. 可以用T定义结构体变量 C.S是struct类型的变量 D. T是struct S类型的变量 25. 以下程序的输出结果是

#define p 3

#define S(a) p*a*a main() { int ar; ar=S(3+5);

printf(\"%d\\n\}

A. 192 B. 29 C. 27 D. 25

3

精通教育集团-软件学院专业课集训营资料

二、填空题(共10题,每题1分,共10分)

请按照试题中对应的标号顺序填写到答题表中

1. 定义int x,y;,执行 y=(x=1,++x,x+2) 后,y的值为 。 2. 下面程序程序的输出结果是 。

#include #define ADD(x) x+x main()

{ int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(\"sum=%d\\n\ }

3. 表达式'A'+4-0.5运算符的结果是的数据类型是 。 4. 一个函数自己调用自己,称作 。 5. 定义语句“char p[6]=\"12345\";”,则p[5]代表的字符是 。

6. 若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为 。 7. 以下程序的输出结果是 。

#include main()

{ unsigned int a=65536; int b;

printf(\"%d\\n\}

8. 若有以下定义说明

int s[10],*p=s,*q=&s[2];,则q-p的值是 。

9. 在C语言中,当调用函数时,实参是一个数组名,则函数传送的是数组的 。 10. 在C语言中,求余运算符%两边运算对象的数据类型只能是 。 三、判断题

判断下题是否正确,正确的划√,错误的划×(每题1分,共15分) ( ) 1.C语言不允许在函数中定义函数。

( ) 2.宏定义不是C语言语句,行末不必加分号。

( ) 3.包含命令中文件名可以用双引号括起来,也可以用尖括号括起来。如:#include

#include \"stdio.h\"两者是完全一样的。

( ) 4.主函数只能调用其他函数,不能调用自身。

( ) 5.C语言程序通过编译、运行后,其结果都是正确的。 ( ) 6.对于两个数据a和b的初始化“char a[]=\"ABCDE\";”、“char b[]={'A','B','C','D','E'};”,

则a数组和b数组等长。

( ) 7.运算符的优先级依次为(由高到低):!(非)、关系运算符、算术运算符、&&和||、赋值运算符。 ( ) 8.C语言中的变量按作用域分为两种:即局部变量和全局变量。 ( ) 9.执行语句x=(i=4,j=16,k=32);后,x的结果是32。 ( ) 10.结构体变量之间可以进行整体赋值。

( ) 11.函数调用时,若形参和实参均为地址量,则形参与实参结合的传递方式为双向传递。 ( ) 12.宏名必须使用大写字母。

( ) 13.利用fopen函数可以打开文件。

( ) 14.语句char *p=\"Turbo C\";的含义是将字符串赋给字符型指针p。 ( ) 15.char str[10][]; 是错误的说明语句。

4

精通教育集团-软件学院专业课集训营资料

四、阅读程序题

本题共5小题,每小题5分,共25分,请写出程序的运行结果 1. 【程序】

#include main()

{ int y=18,i=0,j,a[8]; do

{ a[i]=y%2;i++; y=y/2;

}while(y>=1);

for(j=i-1;j>=0;j--) printf(\"%d\ printf(\"\\n\"); }

【运行结果】

2. 【程序】

#include main()

{ int i,j,x=0; for(i=0;i<2;i++) { x++;

for(j=0;j<3;j++) { if(j%2) continue; x++; } x++; }

printf(\"x=%d\\n\ }

【运行结果】

3. 【程序】

#include int f(int n)

{ static int a=0; int b=0; a+=n; b+=a; return b; } main()

{ printf(\"%d\\ printf(\"%d\\}

【运行结果】

5

精通教育集团-软件学院专业课集训营资料

4. 【程序】

#include main( )

{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,13}; int (*ptr)[4]; int sum=0,i,j; ptr=a;

for(i=0;i<3;i++) for(j=0;j<2;j++) sum+=*(*(ptr+i)+j); printf(\"%d\\n\ }

【运行结果】

5. 【程序】

#include main()

{ int x=0,y=1; switch(x) { case 0: switch(y)

{ case 1:printf(\"**1**\\n\");break; case 2:printf(\"**2**\\n\");break; }

case 1:printf(\"**3**\\n\");break; } }

【运行结果】

6

因篇幅问题不能全部显示,请点此查看更多更全内容