|
西南交《高级语言程序设计A》在线作业一
一、资料来源(谋学网www.mouxue.com)(共 25 道试题,共 50 分。)
1. 返回值为void的函数,其含义为( )
A. 调用函数之后,被调用的函数没有返回值
B. 调用函数之后,被调用的函数不返回
C. 调用函数之后,被调用的函数的返回值为任意的类型
D. 该类函数不允许被调用
正确资料:A
2. 若有宏定义: #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
3. 请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));
A. 5
B. 14
C. 8
D. 输出项不合法,无正常输出
正确资料:A
4. 以下不正确的叙述是
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
正确资料:D
5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A. a=20000+20000;
B. a=4000*10;
C. a=30000+10000;
D. a=4000L*10L
正确资料:D
6. 若有如下说明 char a[10]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’},*p=a; 则输出表达式*(p+8),即printf("%c\n",*(p+8));得到( )
A. g
B. h
C. i
D. j
正确资料:C
7. 函数Func的功能是( ) int Func(char *ptr) { char *p; p=ptr; while (*p++); return (p-ptr-1); }
A. 比较两个字串的大小
B. 求字符串的长度
C. 将串ptr复制到p中
D. 以上三种说法都不对
正确资料:B
8. 若k为整形,则while循环执行( )次。k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);
A. 10
B. 9
C. 0
D. 1
正确资料:C
9. 以下可作为函数fopen中第一个参数的正确格式是( )
A. c:user\text.tex
B. c:\user\text.txt
C. “c:user\text.tex”
D. “c:\\user\\text.txt”
正确资料:D
10. 下列程序段的输出结果是( ) void fun(int *x, int *y) { printf("%d %d", *x, *y); *x=3; *y=4; } void main() { int x=1, y=2; fun(&y,&x); printf("%d %d", x, y); }
A. 1212
B. 2143
C. 1234
D. 2112
正确资料:B
11. 若有定义:int a[10], *p=a;,则p+5表示( )
A. 元素a[5]的地址
B. 元素a[5]的值
C. 元素a[6]的地址
D. 元素a[6]的值
正确资料:A
12. 下面用scanf语句获得从键盘输入的值,正确的语句是:( )
A. inta[12];scanf(“%d”,&a[1])
B. chara[12];scanf(“%s”,&a)
C. inta[12];scanf(“%d”,a[1])
D. inta;scanf(“%d”,a);
正确资料:A
13. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
正确资料:C
14. 有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
A. 13
B. 14
C. 208
D. 209
正确资料:A
15. C语言中,能识别处理的文件为
A. 文本文件和数据块文件
B. 文本文件和二进制文件
C. 流文件和文本文件
D. 数据文件和二进制文件
正确资料:B
16. 以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i <n/2;i++) { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(" %d\n ",s);
A. 22
B. 10
C. 34
D. 30
正确资料:A
17. 若有以下程序 #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]); } 上面程序输出结果是
A. 6
B. 8
C. 4
D. 2
正确资料:D
18. 假定以下程序经编译和连接后生成可执行文件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
19. 能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是( )
A. a>=5ora<=10
B. a>=5|a<=10
C. a>=5&&a<=10
D. a>=5||a<=10
正确资料:C
20. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
B. 2
C. 7
D. 11
正确资料:D
21. C语言表示逻辑假的方法是( )
A. FALSE
B. 0
C. 1
D. NULL
正确资料:B
22. 一个C语言程序是由
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成
正确资料:B
23. 函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
正确资料:A
24. 有如下程序: 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
25. 有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是
A. 5
B. 6
C. 9
D. 8
正确资料:C
西南交《高级语言程序设计A》在线作业一
二、资料来源(谋学网www.mouxue.com)(共 15 道试题,共 30 分。)
1. 函数调用可以______。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确资料:ABC
2. 已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
A. int pb=&x;
B. int *pb=x;
C. int *pb=&x;
D. *pb=*x
正确资料:ABD
3. 关于宏定义的说法正确的是:
A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确资料:ABCD
4. 以下叙述中正确的是______。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
正确资料:ACD
5. 在C语言中,正确的int类型的常数是:______。
A. 0
B. 32768
C. 037
D. 0xaf
正确资料:ACD
6. 对函数的正确使用方法描述
A. A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B. B、实参数组元素和形参数组元素类型可以不一致
C. C、形参数组长度可以不指定
D. D、形参数组长度可以大于实参数组长度
正确资料:ACD
7. 已知: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
8. 在文件操作中,用于检测和设置文件状态的函数有______。
A. 文件结束检测函数feof()
B. 读写文件出错检测函数ferror()
C. 文件出错和结束标志文件函数才clearerr()
D. 文件关闭函数fclose()
正确资料:ABC
9. 下列说法不正确的是______。
A. C程序由符号构成
B. C程序由标识符构成
C. C程序由函数构成
D. C程序由C语句构成
正确资料:ABD
10. 以下不正确的叙述是______。
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
正确资料:ABC
11. 关于实参和形参的说法正确的是______。
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确资料:ABCD
12. 下列字符中能构成标识符的是______。
A. 数字字符
B. 连接符
C. 下划线字符
D. 大写字母
正确资料:ACD
13. 关于静态局部变量的说明正确的是______。
A. 静态局部变量存储在静态存储区
B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确资料:ABCD
14. 以下不正确的描述是______。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
正确资料:ACD
15. 若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有
A. A、*(a+1)为元素6的地址
B. B、*(a[1]+1)的值为2
C. C、**(a+1)+2的值为8
D. D、a[0]与a相同
正确资料:ACD
西南交《高级语言程序设计A》在线作业一
三、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 20 分。)
1. switch语句中,各个case和default的出现次序不影响执行结果。( )
A. 错误
B. 正确
正确资料:B
2. switch语句中,多个case可以共用一组执行语句。( )
A. 错误
B. 正确
正确资料:B
3. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A. 错误
B. 正确
正确资料:B
4. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
A. 错误
B. 正确
正确资料:A
5. 一个int型与一个double型数据进行混合运算时,其结果是double型。
A. 错误
B. 正确
正确资料:B
6. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
A. 错误
B. 正确
正确资料:B
7. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A. 错误
B. 正确
正确资料:B
8. 语句int pt中的*pt是指针变量名。
A. 错误
B. 正确
正确资料:A
9. C程序的执行总是从第一个定义的函数开始
A. 错误
B. 正确
正确资料:A
10. 使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
A. 错误
B. 正确
正确资料:A
|
|