《C程序设计》东师17秋在线作业12
C程序设计17秋在线作业1
一、单选题:【20道,总分:60分】
1.下程序运行后,main( ) { char *s="abcde"; s+=2; printf("%ld\n",s); } 输出结果是( ) (满分:3)
A. cde
B. 字符c的ASCII码值
C. 字符c的地址
D. 出错
2.以下程序: main( ){char s1="country",s2="side";int i=0,j=0; while(s1!='\0')i++; while(s2!='\0')s1=s2;s1=0; printf("%s\n",s1); }的输出结果为( ) (满分:3)
A. side
B. country
C. sidetry
D. countryside
3.C语言提供的合法的数据类型关键字是 ( ) (满分:3)
A. Double
B. short
C. integer
D. Char
4.有以下程序段: main( ){int a=5,*b,**c; c=&b; b=&a;……}程序在执行了c=&b;b=&a;语句后,表达式**c的值是( ) (满分:3)
A. 变量a的地址
B. 变量b的地址
C. 变量a的值
D. 变量b的值
5.下面选项中正确的赋值语句是(设 char a,*p=a;) ( ) (满分:3)
A. p="abcd";
B. a="abcd";
C. *p="abcd";
D. *a="abcd";
6.有以下程序 main( ) { int a={1,2,3,4,5,6,7,8,9,10}, *p=&a, *q=p+2; printf("%d\n", *p + *q); } 程序运行后的输出结果是( ) (满分:3)
A. 16
B. 10
C. 8
D. 6
7.执行下面程序后:main( ) {int a; printf("%d\n",(a=3*5,a*4,a+5));}a的值是( ) (满分:3)
A. 65
B. 20
C. 15
D. 10
8.表达式:10!=9的值是( ) (满分:3)
A. true
B. 非零值
C. 0
D. 1
9.设有如下定义 char x[]={“abcdefg”};char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’} ; 则正确的叙述为( ) (满分:3)
A. 数组x和y等价
B. 数组x和y的长度相同
C. 数组x的长度大于数组y的长度
D. 数组x的长度小于数组y的长度
10.有如下定义,struct{int n; char a; float m;}x; 变量x占的字节数是( ) (满分:3)
A. 10
B. 8
C. 14
D. 16
11.若有以下调用语句, main( ) { … int a,n; … fun(n, &a); }则不正确的fun函数的首部是( ) (满分:3)
A. void fun(int m, int x[])
B. void fun(int s, int h)
C. void fun(int p, int *s)
D. void fun(int n, int a)
12.C语言的编译系统对宏命令的处理是( ) (满分:3)
A. 在程序运行时进行
B. 在程序连接时进行的
C. 和C程序中的其它语句同时进行编译
D. 在对源程序正式编译之前进行的
13.以下叙述中不正确的是( ) (满分:3)
A. 在不同的函数中可以使用相同名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
14.在一个C程序中 ( ) (满分:3)
A. main函数必须出现在所有函数之前
B. main函数可以在任何地方出现
C. main函数必须出现在所有函数之后
D. main函数必须出现在固定位置
15.下列程序把数组元素中的最大值放入a中,main( ){ int a={6,8,3,1,5,9,4,2,7,0};for(i=0;i<10;i++,p++) if( ) *a=*p;printf(“%d\n”,*a);} 则在if语句中的条件表达式应该是( ) (满分:3)
A. p>a
B. *p>a
C. *p>*a
D. *p>*a
16.以下程序 main( ) {char s1=“abc”,s2=“123”; if(strcmp(s1,s2)>0)printf(“%s\n”,s1);elseprintf(“%s\n”,s2);}的输出结果是( ) (满分:3)
A. abc
B. 123
C. abc123
D. 123abc
17.若有下面的变量定义, int i,a,*p;以下语句中合法的是( ) (满分:3)
A. p=a+2;
B. p=a;
C. p=a+2;
D. p=&(i+2);
18.C语言中用于结构化程序设计的三种基本结构是( ) (满分:3)
A. 顺序结构、选择结构、循环结构
B. if、switch、break
C. for、while、do-while
D. if、for、continue
19.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是( ) (满分:3)
A. 字符A
B. 字符a
C. 字符e
D. 非法的常量
20.假定int类型变量占用两个字节,其有定义:int x={0,2,4};,则数组x在内存中所占字节数是( ) (满分:3)
A. 3
B. 6
C. 10
D. 20
二、判断题:【20道,总分:40分】
1.C语言中有逻辑类型但没有集合类型。 (满分:2)
A. 错误
B. 正确
2.有以下程序段:int m=0;while(m==1)m++;while循环体执行的次数是无限次。 (满分:2)
A. 错误
B. 正确
3.switch语句通常用在分支较多的情况,if语句通常用于分支较少的情况。 (满分:2)
A. 错误
B. 正确
4.C语言中只包含一元运算符和二元运算符。 (满分:2)
A. 错误
B. 正确
5.C语言是函数式的语言。 (满分:2)
A. 错误
B. 正确
6.函数strcmp(“AShhjjj”,“ASHHJJJ”)的返回值是0。 (满分:2)
A. 错误
B. 正确
7.C语言中最简单的数据类型包括整型,实型和字符型。 (满分:2)
A. 错误
B. 正确
8.宏定义可分为带参数的宏定义和不带参数的宏定义两类。 (满分:2)
A. 错误
B. 正确
9.表达式y=(13>14?15:16)的值为15。 (满分:2)
A. 错误
B. 正确
10.函数strlen("ASDFG\n")的值是7。 (满分:2)
A. 错误
B. 正确
11.在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。 (满分:2)
A. 错误
B. 正确
12.getchar( )函数没有参数。 (满分:2)
A. 错误
B. 正确
13.若有定义:int a;则scanf(“%d",a);可以给变量a赋值。 (满分:2)
A. 错误
B. 正确
14.设有字符数组字义char array[]=”China”;则数组所占的存贮空间为5个字节。 (满分:2)
A. 错误
B. 正确
15.在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。 (满分:2)
A. 错误
B. 正确
16.switch选择结构中必须有default子句。 (满分:2)
A. 错误
B. 正确
17.C语言的常量在程序运行过程中不可以重新赋值。 (满分:2)
A. 错误
B. 正确
18.空类型是C语言的一种数据类型。 (满分:2)
A. 错误
B. 正确
19.C语言中的文件都是用ASCII码进行存贮的。 (满分:2)
A. 错误
B. 正确
20.设有变量定义char s[]=”hello”,则strlen(s)的返回值为6。 (满分:2)
A. 错误
B. 正确
C程序设计17秋在线作业2
一、单选题:【20道,总分:60分】
1.以下程序: #define ADD(x)x*x main( ) {int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } 的输出结果为( ) (满分:3)
A. d=70
B. d=80
C. d=140
D. d=700
2.有如下函数调用语句: func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是( ) (满分:3)
A. 3
B. 4
C. 5
D. 有语法错
3.设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是( ) (满分:3)
A. 552
B. 144
C. 264
D. -264
4.表达式:10!=9的值是( ) (满分:3)
A. true
B. 非零值
C. 0
D. 1
5.若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是( ) (满分:3)
A. EOF
B. -1
C. 非零值
D. NULL
6.若有下面的变量定义, int i,a,*p;以下语句中合法的是( ) (满分:3)
A. p=a+2;
B. p=a;
C. p=a+2;
D. p=&(i+2);
7.以下程序#define P 3 #define F(x) P*x*x main( ) { printf("%d\n",F(3+5)); } 的输出结果是( ) (满分:3)
A. 192
B. 29
C. 25
D. 编译出错
8.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是( ) (满分:3)
A. 6
B. 0
C. 2
D. 1
9.有以下程序 main( ) { char c1=’1’,c2=’2’; c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2); } 当运行时输入:a 后,以下叙述正确的是( ) (满分:3)
A. 变量c1被赋予字符a,c2被赋予回车符
B. 程序将等待用户输入第2个字符
C. 变量c1被赋予字符a,c2中仍是原有字符2
D. 变量c1被赋予字符a,c2中将无确定值
10.已知int i=5; 执行语句i+=++i;后,i的值是( ) (满分:3)
A. 10
B. 11
C. 12
D. 以上都不对
11.t为int类型,进人下面的循环之前,t的值为0 while( t=l ) { …… } 则以下叙述中正确的是 ( ) (满分:3)
A. 循环控制表达式的值为0
B. 循环控制表达式的值为1
C. 循环控制表达式不合法
D. 以上说法都不对
12.表达式0x13&0x17的值是( ) (满分:3)
A. 0x17
B. 0x13
C. 0xf8
D. 0xec
13.以下程序: #define A 3#define B(a)(A+1)*amain( ){ int x;x=3*A+B(7);printf("x=%d\n",x);}的输出结果为( ) (满分:3)
A. x=93
B. x=37
C. x=60
D. x=90
14.设有如下定义 char x[]={“abcdefg”};char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’} ; 则正确的叙述为( ) (满分:3)
A. 数组x和y等价
B. 数组x和y的长度相同
C. 数组x的长度大于数组y的长度
D. 数组x的长度小于数组y的长度
15.已知字母A的ASCⅡ码为十进制的65,下面程序:main( ) { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2);}的输出是( ) (满分:3)
A. 67,D
B. B,C
C. C,D
D. 不确定的值
16.若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( ) (满分:3)
A. fopen("A:\user\abc.txt","r")
B. fopen("A:\\user\\abc.txt","r+")
C. fopen("A:\user\abc.txt","rb")
D. fopen("A:\\user\\abc.txt","w")
17.下列不能实现赋值操作的是( ) (满分:3)
A. a++
B. a== b
C. a+=b
D. a=1
18.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是( ) (满分:3)
A. printf(“x=%d\n”,x)
B. printf(“x=%ld\n”,x)
C. printf(“x=%8dl\n”,x)
D. printf(“x=%LD\n”,x);
19.用C语言编写的代码程序( ) (满分:3)
A. 可立即执行
B. 是一个源程序
C. 经过编译即可执行
D. 经过编译解释才能执行
20.设有如下定义: int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( ) (满分:3)
A. 1
B. 0
C. 4
D. 3
二、判断题:【20道,总分:40分】
1.C程序中,一行上可以写多个语句。 (满分:2)
A. 错误
B. 正确
2.在一个函数内定义的变量称为局部变量。 (满分:2)
A. 错误
B. 正确
3.C语言是一种低级语言。 (满分:2)
A. 错误
B. 正确
4.若有形参定义:int a;则a++是合法的表达式。 (满分:2)
A. 错误
B. 正确
5.数组名可以作为参数进行传递。 (满分:2)
A. 错误
B. 正确
6.C函数间可以相互调用,但不能调用main( )函数。 (满分:2)
A. 错误
B. 正确
7.二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。 (满分:2)
A. 错误
B. 正确
8.C语言中最简单的数据类型包括整型,实型和字符型。 (满分:2)
A. 错误
B. 正确
9.执行语句x=(a=3,b=a--);后,x,a,b的值依次是3,2,3。 (满分:2)
A. 错误
B. 正确
10.关系运算符= =和!=的优先级相同。 (满分:2)
A. 错误
B. 正确
11.C语言中数据类型只有整型、实型和字符型。 (满分:2)
A. 错误
B. 正确
12.语言中,预处理总是以?@符号开头。 (满分:2)
A. 错误
B. 正确
13.#define和printf都是C语句。 (满分:2)
A. 错误
B. 正确
14.结构体类型只有一种。 (满分:2)
A. 错误
B. 正确
15.数组名作为实参调用函数,实际传给形参的是数组中全部的元素值。 (满分:2)
A. 错误
B. 正确
16.C语言中的文件都是用ASCII码进行存贮的。 (满分:2)
A. 错误
B. 正确
17.a==b;的功能是将b的值赋给a。 (满分:2)
A. 错误
B. 正确
18.一个函数的函数体包括声明部分和语句部分。 (满分:2)
A. 错误
B. 正确
19.构成数组的各个元素可以有不同的数据类型。 (满分:2)
A. 错误
B. 正确
20.用C语言编写的源程序需要编译、链接以后才可以运行。 (满分:2)
A. 错误
B. 正确
页:
[1]