中传媒2017年7月《C语言程序设计》课程作业考核试题...
传媒2017年7月《C语言程序设计》课程考试作业考核试题一、单选题:www.ap5u.com
1.设a=3,b=4执行“printf(“%d,%d’,(a,b),(b,a));”的输出是( )。 (满分:2)
A. 3,4
B. 4,3
C. 3,3
D. 4,4
2.设有int i=010,j=10;则执行“printf(”%d,%d\n“,++i,j--);”的输出是( )。 (满分:2)
A. ll,10
B. 9,10
C. 010,9
D. 10,9
3.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是( )。 (满分:2)
A. 0,0
B. 0,l
C. 1,0
D. 1 ,l
4.设字符型变量a=3,b=6,计算表达式C=(a^b)<<2后C的二进制值是( )。 (满分:2)
A. 00011100
B. 00000111
C. 00000001
D. 00010100
5.C语言中提供的合法关键字是( )。 (满分:2)
A. swith
B. cher
C. case
D. default
6.若a,b均为int型变量,x,y均为float型变量,正确的输入函数调用是( )。 (满分:2)
A. scanf(“%d%d”.&a,&b);
B. scanf(“%d%f”,&a,&b);
C. scanf(“%d%d”,a,b);
D. scanf(“%f%f”,x,y);
7.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行赋值语句的是( )。 (满分:2)
A. c=*p1+*p2
B. p2=c
C. p1=p2
D. c=*p1*(*p2)
8.假定a和b为int型变量,则执行以下语句后b的值为( )。a=1;b=10;do {b-=a;a++;}while(b--<0) (满分:2)
A. 9
B. -2
C. -1
D. 8
9.在以下一组运算符中,优先级最高的运算符是( )。 (满分:2)
A. <=
B. =
C. %
D. &&
10.利用fread(buffer,size,count,fp)函数可实现的操作是( )。 (满分:2)
A. 从fp指向的文件中,将count个字节的数据读取到buffer指出的数据区中
B. 从fp指向的文件中,将size*count个字节的数据读取到buffer指出的数据区中
C. 以二进制形式读取文件中的数据,返回值是实际从文件读取块的个数count
D. 若文件操作出现异常,则返回实际从文件读取数据块的个数
11.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )。 (满分:2)
A. 只写
B. 追加
C. 读或读写
D. B和C都正确
12.以下不合法的用户标识符是( )。 (满分:2)
A. j2KEY
B. DOUBLE
C. 4D
D. 8
13.标准库函数fputs(pl,p2)的功能是( )。 (满分:2)
A. 从pl指向的文件中读一个字符串存入p2指向的内存
B. 从p2指向的文件中读一个字符串存入pl指向的内存
C. 从pl指向的内存中的一个字符串输出到p2指向的文件
D. 从p2指向的内存中的一个字符串输出到pl指向的文件
14.执行语句“x=(a=3,b=a--);”后,X,a,b的值依次为( )。 (满分:2)
A. 3,3,2
B. 2,3,2
C. 3,2,3
D. 2,3,3
15.字符串“xyz”在内存占用的字节数是( )。 (满分:2)
A. 3
B. 4
C. 6
D. 8
16.下列语句中,正确的是( )。 (满分:2)
A. char a[]={‘abc“,’1‘};
B. char a[]={’abc‘,’l‘};
C. char a[]={‘a’,“1”};
D. char a[]={“a”,“1”};
17.设有代码“int(*ptr);”,其中的ptr是( )。 (满分:2)
A. 10个指向整型变量的指针
B. 指向10个整型变量的函数指针
C. 一个指向具有10个元素的一维数组的指针
D. 具有10个指针元素的一维数组
18.在C语言中,下列说法中错误的是( )。 (满分:2)
A. 函数定义可以分为两个部分:函数说明部分
B. 主函数可以调用任何非主函数
C. 任何非主函数可以调用其它任何非主函数
D. 程序可以从任何函数开始执行
19.以下不正确的说法是( )。 (满分:2)
A. 在不同的函数中可以使用名称相同的变量
B. 在函数内定义的变量只在本函数范围内有效
C. 形式参数的是局部变量
D. 在函数内的复合语句中定义的变量在本函数范围内有效
20.以下关于数组的描述正确的是( )。 (满分:2)
A. 数组的大小是固定的,但可以有不同类型的数组元素。
B. 数组的大小是可变的,但所有数组元素的类型必须相同。
C. 数组的大小是固定的,所有数组元素的类型必须相同。
D. 数组的大小是可变的,可以有不同类型的数组元素。
21.C语言中main函数参数的非法表示形式是( )。 (满分:2)
A. main(char *argv[],int argc)
B. main(int a,char**b)
C. main(int y,char *x[])
D. main(int argv,char *argc[])
22.若有说明:int a;,则对a数组元素的正确引用是( )。 (满分:2)
A. a
B. a
C. a
D. a(2)(1)
23.设a,b为字符型变量,执行“scanf(”a=%c,b=%c“,&a,&b)”后使a为‘A’,b为‘B’,从键盘上的正确输入是( )。 (满分:2)
A. ‘A“B’
B. ‘A’,‘B’
C. A=A,B=B
D. a=A, b=B
24.若i、j 已定义为int 类型,则以下程序段中的内循环体的执行次数是( )。for(i=5;i;i--)for(j=0;j<4;j++){……} (满分:2)
A. 20
B. 24
C. 25
D. 30
25.假定所有变量均已正确定义,下列程序段运行后x的值是( )。a=b=c=0;x=35; if(!a)x--;else if(b);if(c)x=3;else x=4; (满分:2)
A. 34
B. 4
C. 35
D. 3
26.若与文件型指针中相关联的文件的当前读位置已到了文件的末尾,则函数feof(fp)的返回值是( )。 (满分:2)
A. 0
B. -1
C. 非零值
D. NULL
27.若有如下定义,则printf(“%d\n”,sizeof(them));的输出是( )。 typedef union { long x;int y;char z;} MYTYPE;MYTYPE them; (满分:2)
A. 32
B. 16
C. 8
D. 24
28.若有语句int *point,a=4;和point=&a;则下面均代表地址的一组是( )。 (满分:2)
A. a,point,*&A
B. &*a,*point,&a
C. &a,*&point,*point
D. &a,&*point,point
29.C语言中,函数的隐含存储类型是( )。 (满分:2)
A. auto
B. static
C. extern
D. 无存储类别
30.合法的数组定义是( )。 (满分:2)
A. int a[]={“string”}
B. int a={0,1,2,3,4,5};
C. char a={“string”}
D. char a[]={0,1,2,3,4,5};
31.设x和y为int型变量,则执行下面的循环后,y的值为( )。 for(y=l,x=l;y<=50;y++) { if(x>=10)break; if(x%2==1){x+=5;continue;} x -=3; } (满分:2)
A. 2
B. 4
C. 6
D. 8
32.若有下列说明,则数值为4的表达式是( )。int a={ l,2,3,4,5,6,7,8,9,10,11,12 };char c=‘a’,d,g; (满分:2)
A. a
B. a
C. a[‘d’-‘c’]
D. a[‘d’-c]
33.下列字符列中,不是用来表达转义字符是( )。 (满分:2)
A. \\
B. \'
C. 074
D. \0
34.以下能将字符串:youareluck!正确读入的语句组是( )。 (满分:2)
A. chars[80];scanf("%s",s);
B. char*s;scanf("%s",s);
C. chars[80];gets(s);
D. char*s;gets(s);
35.二进制语言是属于( )。 (满分:2)
A. 面向机器语言
B. 面向问题语言
C. 面向过程语言
D. 面向汇编语言
36.C语言规定:在一个源程序中,main函数的位置( )。 (满分:2)
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
37.下列表达式中,正确的C赋值表达式是( )。 (满分:2)
A. a=7+b+c=a+7
B. a=7+b++=a+7
C. a=(7+b,b++,a+7)
D. a=7+b,c=a+7
38.设变量m,n,a,b,c,d的初值均为0,执行(m=a==b)( )(n=c==d)后,m,n的值是( )。 (满分:2)
A. 0,0
B. 0,1
C. l,0
D. 1,1
39.设函数的功能是交换x和y的值,且通过正确调用返回交换结果。不能正确执行此功能的函数是( )。 (满分:2)
A. funa(int *x,int *y) { int * p; * p=*x;*x=*y;*y=*p; }
B. funb(int x,int y) { int t; t=x;x=y;y=t; }
C. func(int *x,int *y) { int p; p=*x;*x=*y;* y=p; }
D. fund(int *x,int *y) {*x=*x+ *y;*y=*x- *y;*x= *x- *y; }
40.下面各语句中,能正确进行赋字符串操作的语句是( )。 (满分:2)
A. char s ={“ABCDE”};
B. char s ={‘A’,‘B’,‘C’,‘D’,‘E’};
C. char *s;s=“ABCDE”;
D. char *s;scanf(“%s”, &s);
三、判断题:
1.在标准C语言中,程序的编译是以函数为单位而不是以源程序为单位的( )。 (满分:1)
A. 错误
B. 正确
2.在标准C中,for语句后的三个表达式必须都出现( )。 (满分:1)
A. 错误
B. 正确
3.对于定义int**p;则*p的值是一个存储单元的地址( )。 (满分:1)
A. 错误
B. 正确
4.在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型( )。 (满分:1)
A. 错误
B. 正确
5.在switch语句中,case后可不加;( )。 (满分:1)
A. 错误
B. 正确
6.在标准C语言中,共用体变量中的各成员是共同占用一块存储空间( )。 (满分:1)
A. 错误
B. 正确
7.在标准C中,变量可以先使用再定义( )。 (满分:1)
A. 错误
B. 正确
8.在标准C中,语句是用来完成一定的操作的,故声明部份不是语句( )。 (满分:1)
A. 错误
B. 正确
9.在标准C中,while后表达式只能是逻辑或关系表达式( )。 (满分:1)
A. 错误
B. 正确
10.内存单元的地址与内存单元中的内容是两个相同的内容( )。 (满分:1)
A. 错误
B. 正确
11.在求C语言的表达式时,只需考虑运算符的优先级( )。 (满分:1)
A. 错误
B. 正确
12.在标准C语言中,宏定义的结尾也要加;( )。 (满分:1)
A. 错误
B. 正确
13.在标准C中,所有关系运算符的优先级都相同( )。 (满分:1)
A. 错误
B. 正确
14.在标准C语言中,数组的下标必须是常量,不允许是表达式( )。 (满分:1)
A. 错误
B. 正确
15.在标准C中,在函数printf格式说明部分的字符都是以转义字符处理( )。 (满分:1)
A. 错误
B. 正确
16.在标准C中,参与运算的数据类型必须完全一致( )。 (满分:1)
A. 错误
B. 正确
17.C语言允许直接访问物理地址( )。 (满分:1)
A. 错误
B. 正确
18.在标准C语言中,宏替换是程序运行时完成的( )。 (满分:1)
A. 错误
B. 正确
19.在标准C语言中,数组在大小一旦确定就不允许改变( )。 (满分:1)
A. 错误
B. 正确
20.在标准C语言中,链表和数组一样是一种静态数据类型( )。 (满分:1)
A. 错误
B. 正确
页:
[1]