大连理工大学C语言期中测试模拟题2

2020-04-14 02:42

一、单项选择

1、下述正确的C语言常量是:( C).

A、E2 B、5.0E C、3e-3 D、1.5E2.5

2、若有定义:int a=7;float x=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是(D)。

A、0.000000 B、2.750000 C、3.500000 D、2.500000

3、根据下面的程序,使i=123,c1='A',c2='B'哪一种是正确的键盘输入方法(C ).

(规定用[CR]表示回车,U表示空格) main() {

int i;

char c1,c2;

scanf(\}

A、123AUB[CR] B、123UAUB[CR] C、123AB[CR] D、123[CR]AB[CR]

4. 下列程序段的输出结果为(B)。 int a=7,b=9,t; t=a*=a>b?a:b; printf(\A、49 B、63 C、7 D、9

5. int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为(C)。 A、1 B、3 C、2 D、不一定

6. t为int类型,进人下面的循环之前,t的值为0

while( t=1 ) { ……}

则以下叙述中正确的是(C )。

A、循环控制表达式的值为0 B、循环控制表达式不合法 C、循环控制表达式的值为1 D、以上说法都不对

7. 针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是( B). A、break语句可以一次性跳出多层嵌套循环 B、break语句只能跳出最内层循环

C、continue语句可以一次性跳出多层嵌套循环 D、continue语句可以跳出最内层循环 8. 以下不正确的定义语句是(C)。 A、double x[5]={2.0,4.0,6.0,8.0,10.0}; B、char c1[]={'1','2','3','4','5'}; C、int y[5]={0,1,3,5,7,9};

D、char c2[]={'\\x10','\\xa','\\x8'}; 9. 以下正确的说法是( A). A、函数的类型决定返回值的类型

B、定义函数时,形参的类型说明可以放在函数体内 C、return后面不能为表达式

D、如果形参与实参的类型不一致,以实参类型为准 10. C语言规定,函数返回值的类型是由(A)。 A、在定义该函数时所指定的函数类型所决定 B、return语句中的表达式类型所决定 C、调用该函数时系统临时决定

D、调用该函数时的主调函数类型所决定

11. 函数fun用于将一字符串按相反次序显示,则横线上的表达式为(D ).

void fun(char *s) { if(! *s) return; _____;

printf(\ }

A、printf(\B、fun(*(s+1));

C、printf(\D、fun(s+1);

12. 在宏定义#define PI 3.14159中, 用宏名代替一个( A). A、字符串 B、常量 C、单精度数 D、双精度数

13. 若有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是(A)。 A、p1=&m;p2=p1; B、p1=&m;p2=&p1 C、p1=&m;*p2=*p1; D、p1=&m;p2=&n;*p1=*p2;

14. 下列程序的运行结果是:( B).

void fun(int *a, int *b)

{ int *k;

k=a;a=b;b=k; }

main( )

{ int a=3,b=6,*x=&a, *y=&b; fun(x, y);

printf(\}

A、6 3 B、3 6 C、0 0 D、编译出错

15. C语言结构体类型变量在程序执行期间(B)。 A、没有成员驻留在内存中 B、所有成员一直驻留在内存中 C、只有一个成员驻留在内存中 D、部分成员驻留在内存中 二、判断题

1、表达式 (j=3, j++) 的值是4.错

2、若 a=3,b=2,c=1 则关系表达式\的值为\真\。对 3、C语言的输入功能是由系统提供的输入函数实现的.对

4、char c[6]=\printf(\c)表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.错

5、条件表达式x?'a':'b'中,若x=0时,表达式的值为'a'.错 6、设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0.对 7、已知a=3,b=4,c=5.则逻辑表达式a+b>c && b==c值为0.对 8. 若有说明int c;则while(c=getchar());没有语法错误。对 9、do-while循环由do开始,while结束,循环体可能一次也不做。错 10、for循环语句只能用于循环次数确定的情况下.错

11. 若有定义 int a[10];则 for (i=0;i<=10;i++) a[i]=i;编译时无语法错误.对 12、定义 int x[5],n;则x=x+n;或x++;都是正确的.错

13、二维数组在内存中存贮时,是按列的顺序连续存贮各元素的值.错 14. 变量根据其作用域的范围可以分作局部变量和全局变量.对 15.变量根据其作用域的范围可以分作局部变量和全局变量.错 16. 函数的返回值可以通过函数中的return语句获得。对

17. 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。错

18. 定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是2. 错 19. 一个共用体变量中可以同时存放其所有成员.错

20. 用fopen(\打开的文件\可以进行修改。对 三。填空题、

1. 若有定义:char c='\\010'; 则变量C中包含的字符个数为__1___. 2. getchar()函数只能接收一个_字符____. 3. 执行下列语句后, b的十进制值是__1___.

int x=240,y=15,b; char z='A';

b=(( x && y ) && ( z < 'a' ));

4. 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_3____. for (x=0,y=0;y!=123&&x<3;x++) scanf (\

5. C语言中,数组名是一个不可变的__指针 地址___常量,不能对它进行加减和赋值运算. 6. 函数调用语句func((e1,e2),(e3,e4,e5))中含有_2____个实参.

7. 定义int *p,a[5];将数组a的首地址赋给指针变量p的语句是_____.p=a

p=&a[0] p=a; p=&a[0];

8. 结构体是不同数据类型的数据集合,作为数据类型, 必须先说明结构体_____,再说明结构体变量.

四、程序设计

1、功能:编写函数sum(int m,int n),求出m~n之间(包括m和n,m

被3和5整除的数的和,并将这些数的和作为返回值。 #include \

int sum(int m,int n) {

/*********Begin**********/

/********** End **********/ }

main() {

void TestFunc(); int m=15,n=300;

printf(\ TestFunc(); }

void TestFunc() FILE *IN,*OUT;

int i,m,n;

IN=fopen(\ if (IN==NULL) {

printf(\ return; }

OUT=fopen(\ if(OUT==NULL) {

printf(\ }

for(i=0;i<5;i++)

{ fscanf(IN,\

fprintf(OUT,\ }

fclose(IN); fclose(OUT); }

【参考代码】 int i,s=0; for(i=m;i<=n;i++) if(i%3==0&&i%5==0) s=s+i; return s;

2、功能:求5行5列矩阵的主、副对角线上元素之和。注意,

两条对角线相交的元素只加一次。

例如:主函数中给出的矩阵的两条对角线的和为45。 #include \#define M 5

int fun(int a[M][M]) {

/*********Begin**********/ /********** End **********/ void TestFunc() {

FILE *IN,*OUT;

int iIN[M][M],iOUT; int i,j;

IN=fopen(\ if(IN==NULL) {


大连理工大学C语言期中测试模拟题2.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:MIS名词解释

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: