|
西南交《高级语言程序设计A》在线作业二
一、资料来源(谋学网www.mouxue.com)(共 25 道试题,共 50 分。)
1. 请选出可用作C语言用户标识符的是
A. void,define,WORD
B. a3_b3,_123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
正确资料:B
2. 已知实型变量a存贮的是一个0--1之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75%)正确的打印语句是( )
A. printf(“%.2f%%”,a*100)
B. printf(“%.2f%”,a)
C. printf(“%.2f%%”,a/100)
D. printf(“%.2f%%”,100*(a+0.5));
正确资料:A
3. 以下可作为函数fopen中第一个参数的正确格式是( )
A. c:user\text.tex
B. c:\user\text.txt
C. “c:user\text.tex”
D. “c:\\user\\text.txt”
正确资料:D
4. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A. ABCDEFG
B. IJHL
C. ABCDEFGHIJKL
D. IJKLABCDEFGH
正确资料:D
5. C语言存贮字符串时,用特殊字符( )表示字符串结束
A. ’\x0a’
B. ’0’
C. 13
D. ’\0’
正确资料:D
6. 有定义static int a[]={1, 2, 3, 4},*p ; 执行语句p=a+2 ; 后,表达式*p的值为( )
A. 4
B. 1
C. 2
D. 3
正确资料:D
7. 下面语句的运行结果为( ) #include “stdio.h” #include “string.h” void main() { char str1[10]={“how”}; char str2[10]={“good”}; strcpy(str1,st
A. g
B. how
C. howgood
D. good
正确资料:D
8. 下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }
A. 4
B. 6
C. 8
D. 10
正确资料:B
9. 下面哪条语句是错误的(
A. inta=0
B. inta=b=c=1
C. inta=0,b=0,c=0
D. inta,b,c=1;
正确资料:B
10. C语言中,能识别处理的文件为
A. 文本文件和数据块文件
B. 文本文件和二进制文件
C. 流文件和文本文件
D. 数据文件和二进制文件
正确资料:B
11. 执行以下程序后,a,b的值分别为 main() { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b); }
A. -1,5
B. 1,6
C. 0,7
D. 4,10
正确资料:C
12. 如下程序 : void main( ) { int i,sum; for(i=1;i<=5;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是( )
A. 死循环
B. 3
C. 6
D. 15
正确资料:A
13. 若有定义:int a[10], *p=a;,则p+5表示( )
A. 元素a[5]的地址
B. 元素a[5]的值
C. 元素a[6]的地址
D. 元素a[6]的值
正确资料:A
14. 请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));
A. 5
B. 14
C. 8
D. 输出项不合法,无正常输出
正确资料:A
15. 有以下程序,程序运行的结果是( ) #include “stdio.h” main() { int x=1; switch(x) { case 0: printf(“0\t”); break; case 1: printf(“1\t”); case 2: printf(“2\t”); case 3: printf(“3\t”); break; default: printf(“error”); } }
A. 123
B. 23
C. 23error
D. 2
正确资料:A
16. 若有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的元素的表达式是( )
A. *p+5
B. *(p+5)
C. *p+=5
D. p+5
正确资料:B
17. C语言开始执行程序的开始执行点是( )
A. 程序中第一条可执行的语句
B. 程序中第一个函数
C. 程序中的main()函数
D. 包含文件中的第一个函数
正确资料:C
18. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
A. 2
B. 4
C. 6
D. 8
正确资料:B
19. C语言表示逻辑假的方法是( )
A. FALSE
B. 0
C. 1
D. NULL
正确资料:B
20. sizeof(float)是
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
正确资料:B
21. 以下不正确的定义语句是
A. double x[5]={2.0,4.0,6.0,8.0,10.0};
B. int y[5]={0,1,3,5,7,9};
C. char c1[]={′1′,′2′,′3′,′4′,′5′};
D. char c2[]={′\x10′,′\xa′,′\x8′};
正确资料:B
22. 返回值为void的函数,其含义为( )
A. 调用函数之后,被调用的函数没有返回值
B. 调用函数之后,被调用的函数不返回
C. 调用函数之后,被调用的函数的返回值为任意的类型
D. 该类函数不允许被调用
正确资料:A
23. 以下说法中正确的是( )
A. 一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针
B. a/=b+c;这个式子和a=a/b+c;等价
C. C语言开始执行程序的开始执行点是程序中第一条可执行的语句
D. 对二维数组a赋值可以用这样的语句完成inta[4][]={1,2,3,4,5,6,7,8};
正确资料:A
24. 下列符号中,合法的C常量是( )
A. ‘\t’
B. 079
C. 3.5e2.1
D. 0xch
正确资料:A
25. 若有宏定义: #define PI 3.14 #define S(r) PI*r*r 则主函数中语句s2=S(r+3); 宏替换后的结果为( )
A. s2=PI*r+3*r+3
B. s2=3.14*(r+3)*(r+3)
C. s2=3.14*r+3*r+3
D. s2=PI*r*r
正确资料:C
西南交《高级语言程序设计A》在线作业二
二、资料来源(谋学网www.mouxue.com)(共 15 道试题,共 30 分。)
1. 已知:int x,a,b;下列选项中正确的if语句是______。
A. if(a=b) x++;
B. if(a=<b) x++;
C. if(a-b) x++;
D. if(x) x++;
正确资料:ACD
2. 内存中供用户使用的存储空间可分为:______。
A. 程序区
B. 静态存储区
C. 动态存储区
D. 数据存储区
正确资料:ABC
3. 关于宏定义的说法正确的是:
A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确资料:ABCD
4. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确资料:ABCD
5. 下列说法不正确的是______。
A. C程序由符号构成
B. C程序由标识符构成
C. C程序由函数构成
D. C程序由C语句构成
正确资料:ABD
6. 以下叙述中正确的是______。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
正确资料:ACD
7. 以下说法不正确的是______。
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
正确资料:ABD
8. 在动态存储区中主要存放以下数据______。
A. 函数形式参数
B. 自动变量
C. 函数调用时的现场保护和返回地址
D. 全局变量
正确资料:ABC
9. 关于静态局部变量的说明正确的是______。
A. 静态局部变量存储在静态存储区
B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确资料:ABCD
10. 对函数的正确使用方法描述
A. A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B. B、实参数组元素和形参数组元素类型可以不一致
C. C、形参数组长度可以不指定
D. D、形参数组长度可以大于实参数组长度
正确资料:ACD
11. 带参宏定义与函数的区别是:______。
A. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
C. 宏不存在类型问题,宏名和参数都不存在类型问题
D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
正确资料:ABCD
12. 下列说法中错误的是______。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
正确资料:ABD
13. 在文件操作中,用于检测和设置文件状态的函数有______。
A. 文件结束检测函数feof()
B. 读写文件出错检测函数ferror()
C. 文件出错和结束标志文件函数才clearerr()
D. 文件关闭函数fclose()
正确资料:ABC
14. 不与while(x)语句中的x等价的是_____。
A. x= =0
B. x= =1
C. x!=1
D. x!=0
正确资料:ABC
15. 在缓冲文件系统中用于读写的函数有
A. putchar ()
B. fread()
C. rewind ()
D. putw()
正确资料:ABD
西南交《高级语言程序设计A》在线作业二
三、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 20 分。)
1. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
A. 错误
B. 正确
正确资料:B
2. C程序的执行总是从第一个定义的函数开始
A. 错误
B. 正确
正确资料:A
3. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A. 错误
B. 正确
正确资料:B
4. 使用getchar函数可以不添加#include <stdio.h>命令。( )
A. 错误
B. 正确
正确资料:A
5. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
正确资料:B
6. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A. 错误
B. 正确
正确资料:B
7. 一个int型与一个double型数据进行混合运算时,其结果是double型。
A. 错误
B. 正确
正确资料:B
8. 主函数和其它函数可以相互调用
A. 错误
B. 正确
正确资料:A
9. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
A. 错误
B. 正确
正确资料:A
10. 静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A. 错误
B. 正确
正确资料:B
|
|