第一篇:C语言程序设计课程作业_A资料
C语言程序设计课程作业_A
一、单选题
1.(4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是()
答案 D A.x%=(k%=5)
B.x%=(k-k%5)
C.x%=k
D.(x%=k)-(k%=5)
解析 C语言程序设计/数据类型与运算/整型算术表达式
2.(4分)以下程序的输出结果是? #include main(){ int x=020,y=0x20,z=20;printf('%d,%d,%d ',x,y,z);}
答案 C A.20,20,20
B.32,16,20
C.16,32,20
D.20,32,20
解析 C语言程序设计/数据类型及运算
3.(4分)C语言中while和do while循环的主要区别是()
答案 A A.do-while的循环至少无条件执行一次
B.while循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转入到循环体内
D.do-while的循环体不能是复合语句
解析 C语言程序设计/循环程序设计/while语句与do-while语句 4.(4分)执行语句scanf('%d,%d',&m,&n);使m和n的值分别为1和2,正确输入是()
答案 C A.1
B.1 2
C.1,2
D.12,2
解析 C语言程序设计/顺序程序设计/整型数据的格式输入
5.(4分)sizeof(float)是()
答案 B A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
解析 C语言程序设计/数据类型与运算/实型变量存储
6.(4分)下列选项中,不合法的C语言关键字是
答案 D A.auto
B.default
C.static
D.var
解析 C语言程序设计/C语言概述
7.(4分)下面程序的运行结果是()#include main(){int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf('%2d',a[i]);}}
答案 C A.4 0 4 0 4
B.-4 0 4 0 3
C.-4 0 4 4 3
D.-4 0 4 4 0
解析 C语言程序设计/数组/二维数组与循环语句结合
8.(4分)设有下面的程序段,char s[]='china';char *p;p=s;则下列正确的是()
答案 D A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相等
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
解析 C语言程序设计/指针/数组与指针
9.(4分)若已定义int a;下面对(1)(2)两个语句(1)int *p=&a;(2)*p=a;的正确解释是()
答案 D A.语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值
B.(1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p
C.(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量p
D.(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给*p
解析 C语言程序设计/指针/地址与指针
10.(4分)下面四个选项中,均是不合法的用户标识符的选项是()
答案 C A.A,P_0,do
B.float,la0,_A
C.b-a,goto,int
D._123,temp,INT
解析 C语言程序设计/数据类型与运算/标识符
11.(4分)在C语言中,全局变量的隐含存储类别是
答案 B A.static
B.extern
C.void
D.register
解析 C语言程序设计/函数
12.(4分)若有以下定义:char s[10]='include',*p=s;则不能代表字符u的表达式是()
答案 B A.s[4]
B.s+4
C.*(p+4)
D.p+=4,*p
解析 C语言程序设计/指针/字符串指针的引用
13.(4分)下面程序#include main(){int y=10;do {y--;}while(--y);printf('%d ',y--);}的运行结果是() A.1
答案 D B.-1
C.8
D.0
解析 C语言程序设计/循环程序设计/do-while语句
14.(4分)a为0111,b为0123,a、b、c均为无符号短整型变量,则语句printf('%o,%o,%o,%o',c=~a,c=a&b,c=a|b,c=a∧b)的输出结果为()
答案 A A.177666,101,133,32
B.0177666,0123,0333,032
C.0177666,0101,0133,032
D.177666,0123,0133,034
解析 C语言程序设计/位运算/异或运算符
15.(4分)有一个函数原型如下所示: abc(float x,double y);则该函数的返回类型为
答案 C A.void
B.double
C.int
D.float
解析 C语言程序设计/函数
16.(4分)在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码() A.大32
B.大64
答案 A C.小32
D.小64
解析 C语言程序设计/数据类型与运算/字符常数比较
17.(4分)执行以下程序后的输出结果是()int w=3,z=7,x=10;printf('%d',x>10?x+100:x-10);printf('%d',w++||z++);printf('%d',!w>z);printf('%d',w&&z);
答案 C A.0111
B.1111
C.0101
D.0100
解析 C语言程序设计/选择结构程序设计/条件运算符
18.(4分)程序的三种基本结构是()
答案 B A.顺序结构,循环结构,递归结构
B.顺序结构,循环结构,选择结构
C.选择结构,循环结构,递归结构
D.顺序结构,选择结构,递归结构
解析 C语言程序设计/选择程序设计/程序结构
19.(4分)设整型变量a值为9,则下列表达式中使b的值不为4的表达式() A.b=a/2
B.b=a%2
C.b=8-(3,a-5)
答案 B D.b=a>5?4:2
解析 C语言程序设计/数据类型与运算/整型算术表达式
20.(4分)已有定义int k=2;int *p1,*p2;且p1,p2均指向变量k,下面不能正确执行的赋值语句是()
答案 B A.k=*p1+*p2
B.p2=k
C.p1=p2
D.k=*p1*(*p2)
解析 C语言程序设计/指针/指针变量的定义
21.(4分)若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是()
答案 D A.&p
B.a++
C.&(p+1)
D.&p[i]
解析 C语言程序设计/指针/数组指针的引用
二、判断
1.(4分)用typedef可以创建新的基本类型
答案 错误
解析 C语言程序设计/结构体与共用体
2.(4分)在C 语言中,共用体类型属于构造类型
答案 正确
解析 C语言程序设计/数据类型与运算/构造数据类型
3.(4分)strcmp3(char *s,char *t){for(;*t= =*s;){if(!*t)return 0;t++;s++;}return(*s-*t);}库函数strcmp(char*s,char*t)是功能相等的程序段
答案 正确
解析 C语言程序设计/指针/指针作为函数参数
4.(4分)C语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量
答案 正确
解析 C语言程序设计/文件
一、单选题
1.(4分)在C语言中,反斜杠符是()
答案 D A.n
B.t
C.v
D.解析 C语言程序设计/数据类型与运算/字符常数表示形式
2.(4分)执行下列程序段后, int x=10,y=9;int a,b,c;a=(--x= =y++)?--x:++y;b=x++;c=y;变量a,b,c的值分别是() A.a=9,b=9,c=9
B.a=8,b=8,c=10
答案 B C.a=9,b=10,c=9
D.a=8,b=8,c=9
解析 C语言程序设计/选择结构程序设计/条件与算术运算符
3.(4分)判断char型变量c1是否小写字母的正确表达式为
答案 B A.'a'<=c1<='z'
B.(c1>='a')&&(c1<='z')
C.(c1>=a)&&(c1<=z)
D.('a'<=c1)||('z'>=c1)
解析 C语言程序设计/数据类型及运算
4.(4分)阅读以下程序,int w=1,x=2,y=3,z=4,m;m=w
答案 A A.1
B.2
C.3
D.4
解析 C语言程序设计/选择结构程序设计/条件运算符嵌套
5.(4分)在C语言中运算符的优先级从高到低的排列顺序是
A.关系运算符 算术运算符 赋值运算符
B.算术运算符 赋值运算符 关系运算符
C.赋值运算符 关系运算符 算术运算符
答案 D D.算术运算符 关系运算符 赋值运算符
解析 C语言程序设计/数据类型及运算
6.(4分)若有以下定义, int k=7,x=12, 则能使值为3的表达式是()
答案 D A.x%=k%=5
B.x%=k-k%5
C.x%=(k-k%5)
D.(x%=k)-(k%=5)
解析 C语言程序设计/数据类型与运算/算术表达式
7.(4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是()
答案 D A.x%=(k%=5)
B.x%=(k-k%5)
C.x%=k
D.(x%=k)-(k%=5)
解析 C语言程序设计/数据类型与运算/整型算术表达式
8.(4分)设有以下程序片段:char s[ ]='Program!';char *p;p=s;则执行完上面的程序段后,*(p+8)的值为()
答案 B A.!'
B.' '
C.'m'
D.不定值 解析 C语言程序设计/指针/字符串指针的引用
9.(4分)C语言中合法的字符常量是
答案 A A.’’
B.”H”
C.’He’
D.p
解析 C语言程序设计/数据类型及运算
10.(4分)以下read函数的调用形式中,参数类型正确的是()
答案 A A.read(int fd,char *buf,int count)
B.read(int *buf,int fd,int count)
C.read(int fd,int count,char *buf)
D.read(int count,char *buf,int fd)
解析 C语言程序设计/文件/文件的读和写
11.(4分)设有以下程序片段:char a[ ]='hello',*p;p=a;printf('%d',*(p+5));执行上面的程序片段后的结果为()
答案 B A.111
B.0
C.104
D.不确定的值
解析 C语言程序设计/指针/数组元素的引用
12.(4分)以下程序main(){int x=10,y=10;printf('%d %d ',x--,--y);}的输出结果是()
答案 D A.10 10
B.9 9
C.9 10
D.10 9
解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
13.(4分)以下函数的功能对应于 int fun(char *s,char *t){ while(*s)&&(*t)&&(*t==*s)} { t++;s++;} return(*s-*t);}
答案 B A.strlen(s)+strlen(t)
B.strcmp(s,t)
C.strcpy(s,t)
D.strcat(s,t)
解析 C语言程序设计/循环控制
14.(4分)C语言规定,函数返回值的类型是由()所决定。
答案 D A.return语句中的表达式类型
B.调用该函数时的主调函数类型
C.调用该函数是系统临时指定
D.在定义该函数时所指定的函数类型
解析 C语言程序设计/函数/函数返回值
15.(4分)表达式a
答案 D A.&,<,||
B.&,||,<
C.<,||,&
D.<,&,||
解析 C语言程序设计/位运算/位运算符优先级
16.(4分)下面程序#include main(){int a=1,b=10;do{b-=a;a++;}while(b--<0);printf('a=%d,b=%d ',a,b);}的运行结果是()
答案 B A.a=3,b=11
B.a=2,b=8
C.a=1,b=-1
D.a=4,b=9
解析 C语言程序设计/循环程序设计/do-while语句
17.(4分)要打开一个已存在的非空文件"file"用于修改,选择正确的语句
答案 C A.fp=fopen('file','r')
B.fp=fopen('file','w')
C.fp=fopen('file','r+')
D.fp=fopen('file','w+')
E.解析 C语言程序设计/文件
18.(4分)下面程序#include main(){int y=10;do {y--;}while(--y);printf('%d ',y--);}的运行结果是()
答案 D A.1
B.-1
C.8
D.0
解析 C语言程序设计/循环程序设计/do-while语句
19.(4分)有枚举类型的定义: enum color1 { yellow,green,blue=5,red,brown};则枚举常量yellow 和 red的值分别是
答案 C A.3,6
B.1,6
C.0,6
D.0,3
解析 C语言程序设计/结构体与共用体
20.(4分)不属于面向机器语言的是()
答案 D A.符号语言
B.二进制语言
C.汇编语言
D.C语言
解析 C语言程序设计/C语言概述/C程序特点
21.(4分)判断字符串a和b是否相等,应当使用() A.if(a==b)
答案 D B.if(a=b)
C.if(strcmp(a,b))
D.if(strcmp(a,b)==0)
解析 C语言程序设计/数组/字符串处理函数
二、判断
1.(4分)main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf('%d,%d',x,x&&!y||z);}程序的运行结果是1,1
答案 错误
解析 C语言程序设计/选择结构程序设计/逻辑表达式
2.(4分)C语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量
答案 正确
解析 C语言程序设计/文件
3.(4分)对for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)
答案 正确
解析 C语言程序设计/循环程序设计/for语句
4.(4分)用typedef可以创建新的基本类型
答案 错误
解析 C语言程序设计/结构体与共用体
一、单选题
1.(4分)下面程序段的运行结果是()a=1;b=2;c=2;while(a
答案 A A.1,2,0
B.2,1,0
C.1,2,1
D.2,1,1
解析 C语言程序设计/循环程序设计/while语句
2.(4分)设有以下的程序片段, int i;float f=10.5;i=((int)f)/2;请问执行后变量i的值是()
答案 D A.5.0
B.5.5
C.6
D.5
解析 C语言程序设计/数据类型与运算/数据类型强制转换
3.(4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是()
答案 D A.x%=(k%=5)
B.x%=(k-k%5)
C.x%=k
D.(x%=k)-(k%=5)
解析 C语言程序设计/数据类型与运算/整型算术表达式
4.(4分)设有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是() A.z=exp(y)+fabs(x)
答案 D B.y=log10(y)+pow(y)
C.z=sqrt(y-z)
D.x=(int)(atan2((double)x,y)+exp(y-0.2))
解析 C语言程序设计/数据类型与运算/赋值表达式
5.(4分)设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是()
答案 D A.a'&&'b'
B.a<=b
C.a||b+c&&b-c
D.!((a
解析 C语言程序设计/数据类型与运算/整数类型综合
6.(4分)判断char型变量ch是否为大写字母的正确表达式为()
答案 C A.A'<=ch<='Z'
B.(ch>='A')&(ch<='Z')
C.(ch>='A')&&(ch<='Z')
D.('A'<=ch)AND('Z'>=ch)
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
7.(4分)在C语言程序中,下面哪一个是正确的? A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
答案 B C.函数的定义可以嵌套,函数的调用也可以嵌套
D.函数的定义和函数的调用都不可以嵌套
解析 C语言程序设计/函数
8.(4分)一个C程序的执行是从()
答案 A A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
解析 C语言程序设计/C语言概述/主函数
9.(4分)函数rewind的作用是()
答案 C A.使位置指针指向文件的末尾
B.将位置指针指向文件中所要求的特定位置
C.使位置指针重新返回文件的开头
D.使位置指针自动移到下一个字符位置
解析 C语言程序设计/文件/文件的定位
10.(4分)有以下程序:#includemain(){int x,y;printf('Enter an integer(x):');scanf('%d',&x);if(x++<0)y=-1;else if(x==0)y=0;else y=1;printf('%d',y);}现从键盘上输入-1,则程序的输出是() A.0
B.-1
C.1
答案 B D.不确定的值
解析 C语言程序设计/选择程序设计/if语句嵌套
11.(4分)设有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的输出结果是()
答案 B A.运行错误
B.100
C.i的地址
D.j的地址
解析 C语言程序设计/指针/引用与地址
12.(4分)执行以下程序后的输出结果是()int w=3,z=7,x=10;printf('%d',x>10?x+100:x-10);printf('%d',w++||z++);printf('%d',!w>z);printf('%d',w&&z);
答案 C A.0111
B.1111
C.0101
D.0100
解析 C语言程序设计/选择结构程序设计/条件运算符
13.(4分)写出下面程序的输出结果()main(){int i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);} A.42 14,13
B.41 14,14
C.42 13 13
答案 C D.42 13 14
解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
14.(4分)判断字符串a和b是否相等,应当使用()
答案 D A.if(a==b)
B.if(a=b)
C.if(strcmp(a,b))
D.if(strcmp(a,b)==0)
解析 C语言程序设计/数组/字符串处理函数
15.(4分)根据题目中已给出的数据输入和输出形式,main(){int x;float y;printf('enter x,y:');输入语句;输出语句}输入形式:enter x,y:2 3.4输出形式:x+y=5.40, 程序中输入输出语句的正确内容是()
答案 B A.scanf('%d,%f',&x,&y),printf('nx+y=%4.2f',x+y)
B.scanf('%d%f',&x,&y),printf('nx+y=%4.2f',x+y)
C.scanf('%d%f',&x,&y),printf('nx+y=%6.1f',x+y)
D.scanf('%d%3.1f',&x,&y),printf('nx+y=%4.2f',x+y)
解析 C语言程序设计/顺序程序设计/格式输入与输出
16.(4分)若数组a有m列,则ali][j]之前的数组元素个数为() A.(i-1)*(i-1)
B.i*m+j+1
C.i*m+j-1
D.i*m+j 答案 D
解析 C语言程序设计/数组/二维数组的引用
17.(4分)表达式a
答案 D A.&,<,||
B.&,||,<
C.<,||,&
D.<,&,||
解析 C语言程序设计/位运算/位运算符优先级
18.(4分)表达式-l?(10?10:1):(0?0:-1)的值为()
答案 A A.10
B.1
C.0
D.-1
解析 C语言程序设计/数据类型与运算/逗号表达式
19.(4分)C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将();如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)
答案 A A.不予输出
B.输出空格
C.照样输出
D.输出不定值或0 解析 C语言程序设计/顺序程序设计/格式输出
20.(4分)若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()
答案 B A.exp==0
B.exp!=0
C.exp==1
D.exp!=1
解析 C语言程序设计/选择结构程序设计/条件运算符
21.(4分)程序段的基本结构中,不包含()
答案 A A.函数结构
B.循环结构
C.顺序结构
D.分支结构
解析 C语言程序设计/C语言概述/C程序组成
二、判断
1.(4分)main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf('%d,%d',x,x&&!y||z);}程序的运行结果是1,1
答案 错误
解析 C语言程序设计/选择结构程序设计/逻辑表达式
2.(4分)下列语句new→next=head;head=new;可以完成建立2结点的单向链表的功能
答案 正确 解析 C语言程序设计/结构体与共同体/用指针处理链表
3.(4分)C语言中形参到实参传递是双向的
答案 错误
解析 C语言程序设计/函数
4.(4分)对for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)
答案 正确
解析 C语言程序设计/循环程序设计/for语句
一、单选题
1.(4分)设有说明:char *str[10];则标识符str的意义是()
答案 B A.str是一个指向有10个元素的数组的指针
B.str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型
C.str是一个指向char型函数的指针
D.str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
解析 C语言程序设计/指针/字符串指针
2.(4分)不属于面向机器语言的是()
答案 D A.符号语言
B.二进制语言
C.汇编语言
D.C语言 解析 C语言程序设计/C语言概述/C程序特点
3.(4分)在C语言中,每个语句和数据定义是用()结束
答案 C A.句号
B.逗号
C.分号
D.括号
解析 C语言程序设计/C语言概述/C程序的组成
4.(4分)以下描述中正确的是() A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
答案 C B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作
D.do-while循环中,根据情况可以省略while。
解析 C语言程序设计/循环程序设计/do-while语句
5.(4分)为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与 配对()
答案 B A.缩排位置相同的if
B.其之前最近的没有else配对的if
C.其之后最近的if
D.同一行上的if
解析 C语言程序设计/选择结构程序设计/if语句嵌套 6.(4分)下列字符串是标识符的是()
答案 A A._HJ
B.9_student
C.long
D.LINE 1
解析 C语言程序设计/C语言概述/C程序标识符
7.(4分)执行语句for(i=1;i++<4;);后变量的值为()
答案 C A.3
B.4
C.5
D.不定
解析 C语言程序设计/循环程序设计/for语句
8.(4分)若有int w=1,x=2,y=3,z=4;则表达式w
答案 D A.4
B.3
C.2
D.1
解析 C语言程序设计/选择结构程序设计/条件运算符嵌套
9.(4分)C语言中,逻辑真表示为()
答案 C A.TRUE
B.'y'或'Y'
C.1
D.非零值
解析 C语言程序设计/选择程序设计/逻辑运算符
10.(4分)sizeof(float)是()
答案 B A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
解析 C语言程序设计/数据类型与运算/实型变量存储
11.(4分)若有定义typedef char STRING[255];STRING s;则s是
答案 D A.字符指针数组变量
B.字符指针变量
C.字符变量
D.字符数组变量
解析 C语言程序设计/结构体与共用体
12.(4分)下面是对数组s的初始化,其中不正确的是() A.char s[ ]='abcde'
答案 D B.char s[5]={1,2,3,4,5}
C.char s[5]={'a','b','c','d','e'}
D.char s[5]='abcde'
解析 C语言程序设计/数组/一维数组的初始化
13.(4分)有程序:main(){int a=5,b=1,c=0;if(a=b+c)printf('*** ');else printf('$$$ ');}该程序()
答案 C A.有语法错误不能通过编译
B.可以通过编译,但不能通过连接
C.输出:***
D.输出:$$$
解析 C语言程序设计/选择结构程序设计/if-else语句
14.(4分)设有以下结构体定义:struct emproyer{char name[8];int age;char sex;}staff;则下面的叙述不正确的是()
答案 C A.struct是结构体类型的关键字
B.struct emproyer是用户定义的结构体类型
C.staff是用户定义的结构体类型名
D.nameage和sex都是结构体成员名
解析 C语言程序设计/结构体与共同体/结构体变量定义
15.(4分)下面是对s的初始化,其中不正确的是() A.char s[5]={'abc'}
B.char s[5]={'a','b','c'}
答案 D C.char s[5]=''
D.char s[5]='abcde'
解析 C语言程序设计/数组/字符数组初始化
16.(4分)以下对C语言中联合体类型数据的叙述正确的是()
答案 C A.可以对联合体变量直接赋值
B.一个联合体变量中可以同时存放其所有成员
C.一个联合体变量中不能同时存放其所有成员
D.联合体类型定义中不能同时出现结构体类型的成员
解析 C语言程序设计/结构体与共同体/共用体变量定义
17.(4分)判断char型变量ch是否为大写字母的正确表达式为()
答案 C A.A'<=ch<='Z'
B.(ch>='A')&(ch<='Z')
C.(ch>='A')&&(ch<='Z')
D.('A'<=ch)AND('Z'>=ch)
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
18.(4分)已有程序段和输入数据的形式,main(){ int a;float f;printf('Input number:');(输入语句)printf(' f=%f,a=%d ',f,a);}Input number:4.5uu2(u代表空格) A.scanf('%d,%f',&a,&f)
B.scanf('%f,%d',&f,&a)
C.scnaf('%d%f',&a,&f)
答案 D D.scanf('%f%d',&f,&a)
解析 C语言程序设计/顺序程序设计/整型和实型数据的格式输入
19.(4分)C语言提供的合法关键字是()
答案 A A.break
B.print
C.funtion
D.end
解析 C语言程序设计/C语言概述/C程序关键字
20.(4分)字符串“China”在内存中占用几个字节
答案 C A.3
B.4
C.6
D.8
解析 C语言程序设计/数据类型及运算
21.(4分)若有说明:int a[3][4]={0};则下面正确的叙述是()
答案 D A.只有元素a[0][0]可以得到初值0
B.此说明语句不正确
C.数组中各元素都可以得到初值,但其值不一定为0
D.数组中每个元素均可得到初值0 解析 C语言程序设计/数组/二维数组的初始化
二、判断
1.(4分)C语言中没有真正的多维数组
答案 正确
解析 C语言程序设计/数组
2.(4分)int k=0;do{++k;}while(k>=0);是无限循环的语句
答案 错误
解析 C语言程序设计/循环程序设计/do-while语句
3.(4分)使用continue和break语句,都可以使得C程序中断执行
答案 错误
解析 C语言程序设计/循环控制
4.(4分)C语言是解释性语言
答案 错误
解析 C语言程序设计/C语言概述
3.(4分)已知函数的调用形式:fread(buffer, size, count, fp);其中buffer代表
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针变量,指向要读的文件
C.一个储存区,存放要读的数据项
答案 D D.一个指针变量,它存放数据缓冲区的地址
解析 C语言程序设计/文件
4.(4分)10+’a’+1.5-567.345/’b’的结果是()型数据
答案 B A.long
B.double
C.int
D.unsigned float
解析 C语言程序设计/数据类型与运算/数据类型的混合运算
5.(4分)以下程序的运行结果是()typedef union {long a[2];int b[4];char c[8];}TY;TY our;main(){printf('%d ',sizeof(our));}
答案 C A.32
B.16
C.8
D.24
7.(4分)下列有关字符数组与字符串的说法中正确的是()
答案 C A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串 10.(4分)已有以下数组定义和f函数调用语句,int a[3][4];f(a);则在f函数的说明中,对形参数组array的错误定义方式为()
得分: 4 A.f(int array[][6])
B.f(int array[3][])
C.f(int array[][4])
D.f(int array[2][5])
12.(4分)若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上)()
答案 D A.i*m+j
B.j*m+I
C.i*m+j-1
D.i*m+j+1
19.(4分)若使用一位数组名作为函数实参,则以下正确的说法是()
答案 C A.必须在主调函数中说明此数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
判断
1.(4分)C语言中,函数可以嵌套定义
答案 错误
解析 C语言程序设计/函数
第二篇:C语言程序设计--大作业
C语言程序设计大作业
编写程序,实现单链表的插入、删除、输出、查找、统计以及销毁功能。
单链表的每个结点存储一名学生的信息,包括:学号、姓名、性别、年龄、三门课程(高数、英语、C语言)的成绩、三门功课的平均分。
结构体类型声明如下: typedef struct student {
char sno[8];
char name[20];
char sex;
int age;double score[3];double avg;
struct student *next;} STUDENT, *PSTUDENT;
要求:
⑴一律使用 STUDENT 声明学生结构体的变量,一律使用 PSTUDENT 声明指向学生结构体的指针变量
⑵程序运行过程中要有菜单提示,菜单如下:
*************************************************************** *
1.Insert a student
* *
2.Delete a student
* *
3.Display the link list
* *
4.Display excellent students
* *
5.Search a student by the name
* *
6.Display the average score of three courses * *
0.Exit the program
* ***************************************************************
“Insert a student”:插入一个学生记录,要求按平均分从高到低插入 “Delete a student”:删除指定学号的学生 “Display the link list”:输出单链表中所有学生的信息 “Display excellent students”:输出链表中三门功课平均成绩高于85分(含85分)的学生信息 “Search a student by the name”:根据输入的姓名,输出链表中相应学生的信息 “Display the average score of three courses”:输出链表中所有学生的高数平均分、英语平均分以及C语言平均分 “Exit the program”:销毁单链表,结束程序运行
第三篇:C程序设计课程作业
(4分)C语言是解释性语言
纠错
得分: 0
知识点: C语言概述
收起解析
答案 错误
解析 C语言程序设计/C语言概述
(4分)C语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量
纠错
得分: 0
知识点: 文件
收起解析
答案 正确
解析 C语言程序设计/文件
(4分)下面是对s的初始化,其中不正确的是() A.char s[5]={'abc'} B.char s[5]={'a','b','c'} C.char s[5]=''
D.char s[5]='abcde'
纠错
得分: 0
知识点: 数组
收起解析
答案 D
解析 C语言程序设计/数组/字符数组初始化
(4分)函数ftell的作用是() A.取得当前文件指针的位置,该位置为相对于文件开头的位移量表示
B.取得当前文件指针的位置,该位置为相对于文件末尾的位移量表示
C.出错时返回值为0 D.以上叙述都不正确
纠错 得分: 0
知识点: 文件
收起解析
答案 A
解析 C语言程序设计/文件/文件的定位
(4分)表达式a A.&,<,|| B.&,||,< C.<,||,& D.<,&,||
纠错
得分: 0
知识点: 位运算
收起解析
答案 D
解析 C语言程序设计/位运算/位运算符优先级
(4分)若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是() A.scanf('%d%lx,%le',&x,&y,&z)B.scanf('%2d*%d%lf',&x,&y,&z)C.scanf('%x%*d%o',&x,&y)
D.scanf('%x%o%6.2f',&x,&y,&z)
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/整型和实型数据的格式输入
(4分)写出下面程序的输出结果()main(){int x;x=-3+4*5-6;printf('%d',x);x=3+4%5-6;printf('%d',x);x=-3*4%6/5;printf('%d',x);x=(7+6)%5/2;printf('%d',x);} A.11 1 0 1 B.11-3 2 1 C.12-3 2 1 D.11 1 2 1
纠错
得分: 0
知识点: 顺序程序设计
收起解析 答案 A
解析 C语言程序设计/顺序程序设计/整型变量的输出格式综合(4分)C语言中while和do while循环的主要区别是() A.do-while的循环至少无条件执行一次
B.while循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转入到循环体内
D.do-while的循环体不能是复合语句
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 A
解析 C语言程序设计/循环程序设计/while语句与do-while语句
(4分)C语言规定,函数返回值的类型是由()所决定。
A.return语句中的表达式类型
B.调用该函数时的主调函数类型
C.调用该函数是系统临时指定
D.在定义该函数时所指定的函数类型
纠错
得分: 0
知识点: 函数
收起解析
答案 D
解析 C语言程序设计/函数/函数返回值
(4分)下面程序的输出是()main(){enum team {my, your=4,his,her=his+10};printf('%d%d%d%d ',my,your,his,her);} A.0 1 2 3 B.0 4 0 10 C.0 4 5 15 D.l 4 5 15
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/枚举类型(4分)已有定义int k=2;int *p1,*p2;且p1,p2均指向变量k,下面不能正确执行的赋值语句是() A.k=*p1+*p2 B.p2=k C.p1=p2
D.k=*p1*(*p2)
纠错
得分: 0
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/指针变量的定义
2.(4分)以下程序的运行结果为()#include main(){struct date{int year,month,day;}today;printf('%d ',sizeof(struct date));} A.6 B.8 C.10 D.12
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 A
解析 C语言程序设计/结构体与共同体/结构体变量初始化
(4分)若有定义:int(*p)[4];则标识符p() A.是一个指向整型变量的指针
B.是一个指针数组名
C.是一个指针,它指向一个含有四个整型元素的一维数组
D.定义不合法
纠错
得分: 0
知识点: 指针
收起解析
答案 C
解析 C语言程序设计/指针/指针数组
(4分)若使用一位数组名作为函数实参,则以下正确的说法是() A.必须在主调函数中说明此数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致 纠错
得分: 0
知识点: 函数
收起解析
答案 C
解析 C语言程序设计/函数/数组作为函数参数
(4分)设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf('%d',s);则() A.运行程序段后输出0 B.运行程序段后输出1
C.循环的控制表达式不正确
D.程序段执行无限次
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 B
解析 C语言程序设计/循环程序设计/while语句
(4分)有int x=3,y=4,z=5;则下面表达式中值为0的是() A.x'&&'y' B.x<=y
C.x||y+z&&y-z D.!((x
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 D
解析 C语言程序设计/选择结构程序设计/逻辑运算符
(4分)若数组a有m列,则ali][j]之前的数组元素个数为() A.(i-1)*(i-1)B.i*m+j+1 C.i*m+j-1 D.i*m+j
纠错
得分: 0
知识点: 数组
收起解析
答案 D
解析 C语言程序设计/数组/二维数组的引用
.(4分)表达式a A.&,<,|| B.&,||,< C.<,||,& D.<,&,||
纠错
得分: 0
知识点: 位运算
收起解析
答案 D
解析 C语言程序设计/位运算/位运算符优先级
(4分)下面对typedef不正确的叙述是
A.用typedef可以定义各种类型名,但不能用来定义变量
B.用typedef可以增加新的基本数据类型
C.用typedef只是将已存在的类型用一个新的标识符表示
D.使用typedef有利于程序的通用和移植
E.纠错
得分: 0
知识点: 结构体与共用体
收起解析
答案 B
解析 C语言程序设计/结构体与共用体
(4分)设有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);请问执行后的输出结果是() A.16,10,8 B.8 10 16 C.10,10,10 D.8,10,16
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/整型变量
2.(4分)关于fseek函数,以下有关操作的叙述不正确的是() A.可以改变文件的位置指针
B.可以实现文件的顺序读写
C.可以实现文件的随机读写
D.只可以顺序定位文件的位置指针
纠错
得分: 4 知识点: 文件
收起解析
答案 D
解析 C语言程序设计/文件/文件的定位
3.(4分)putchar函数可以向终端输出一个() A.整型变量表达式
B.实型变量值
C.字符串
D.字符或字符型变量值
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/putchar函数
4.(4分)关于联合体,下面叙述不正确的是() A.联合体变量中成员项共用同一存储空间,因此,联合体变量的地址和每一个成员项的地址是同一地址
B.联合体变量中成员项所占存储空间量不同,因此,联合体中每一个成员项的地址不是同一地址
C.C语言规定不能对联合体变量赋值
D.也不能通过直接引用变量名来得到成员项,这与结构体是相同的
E.不允许将联合体变量作为函数参数,也不允许用联合体变量作为函数的返回值
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 B
解析 C语言程序设计/结构体与共同体/共用体变量定义
5.(4分)以下程序 的运行结果是()void sub(int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf('%4d,%4d,%4d',a,b,c);} A.5, 2, 3 B.-5,-12,-7 C.-5,-12,-17 D.5,-2,-7
纠错
得分: 0
知识点: 函数
收起解析
答案 A 解析 C语言程序设计/函数/函数的调用
6.(4分)判断char型变量c1是否小写字母的正确表达式为
A.'a'<=c1<='z'
B.(c1>='a')&&(c1<='z')C.(c1>=a)&&(c1<=z)D.('a'<=c1)||('z'>=c1)
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 B
解析 C语言程序设计/数据类型及运算
7.(4分)有以下程序:#includemain(){int x,y;printf('Enter an integer(x):');scanf('%d',&x);if(x++<0)y=-1;else if(x==0)y=0;else y=1;printf('%d',y);}现从键盘上输入-1,则程序的输出是() A.0 B.-1 C.1
D.不确定的值
纠错
得分: 0
知识点: 选择程序设计
收起解析
答案 B
解析 C语言程序设计/选择程序设计/if语句嵌套
8.(4分)在C语言中运算符的优先级从高到低的排列顺序是
A.关系运算符 算术运算符 赋值运算符
B.算术运算符 赋值运算符 关系运算符
C.赋值运算符 关系运算符 算术运算符
D.算术运算符 关系运算符 赋值运算符
纠错
得分: 4
知识点: 数据类型及运算
收起解析
答案 D
解析 C语言程序设计/数据类型及运算
9.(4分)函数rewind的作用是() A.使位置指针指向文件的末尾
B.将位置指针指向文件中所要求的特定位置
C.使位置指针重新返回文件的开头
D.使位置指针自动移到下一个字符位置
纠错
得分: 4
知识点: 文件
收起解析
答案 C
解析 C语言程序设计/文件/文件的定位
10.(4分)有以下程序#include main(){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf('%d,%d',*p,a[3]);},请问执行后的输出结果是() A.1,4 B.0,4 C.1,6 D.0,6
纠错
得分: 0
知识点: 指针
收起解析
答案 C
解析 C语言程序设计/指针/数组指针的引用
11.(4分)已知函数的调用形式:fread(buffer, size, count, fp);其中buffer代表
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针变量,指向要读的文件
C.一个储存区,存放要读的数据项
D.一个指针变量,它存放数据缓冲区的地址
纠错
得分: 4
知识点: 文件
收起解析
答案 D
解析 C语言程序设计/文件
12.(4分)字符串“China”在内存中占用几个字节
A.3 B.4 C.6 D.8
纠错 得分: 4
知识点: 数据类型及运算
收起解析
答案 C
解析 C语言程序设计/数据类型及运算
13.(4分)10+’a’+1.5-567.345/’b’的结果是()型数据
A.long B.double C.int
D.unsigned float
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/数据类型的混合运算
14.(4分)判断char型变量ch是否为大写字母的正确表达式为() A.A'<=ch<='Z'
B.(ch>='A')&(ch<='Z')C.(ch>='A')&&(ch<='Z')D.('A'<=ch)AND('Z'>=ch)
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 C
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
15.(4分)C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将();如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)
A.不予输出
B.输出空格
C.照样输出
D.输出不定值或0
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 A 解析 C语言程序设计/顺序程序设计/格式输出
16.(4分)下面的程序main(){int x=3;do{printf(“%d ”,x-=2);}while(!(--x));},描述正确的是() A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 B
解析 C语言程序设计/循环程序设计/do-while语句
17.(4分)根据下面的定义,能打印出字母“M”的语句是()struct person{char name[9];int age;};struct person class[10]={'John',17,'Paul',19,'Mary',18,'adam',16 }; A.printf('%cn',class[3].name)B.printf('%cn',class[3].name[l])C.printf('%cn',class[2].name[l])D.printf('%cn',class[2].name[0])
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 D
解析 C语言程序设计/结构体与共同体/结构体变量引用
18.(4分)设整型变量a和b的值分别为8和9。printf('%d,%d',(a++,++b),b--);的输出是() A.8,8 B.8,7 C.9,9 D.10,9
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 C
解析 C语言程序设计/顺序程序设计/格式输入输出综合19.(4分)a为0111,b为0123,a、b、c均为无符号短整型变量,则语句printf('%o,%o,%o,%o',c=~a,c=a&b,c=a|b,c=a∧b)的输出结果为() A.177666,101,133,32 B.0177666,0123,0333,032 C.0177666,0101,0133,032 D.177666,0123,0133,034
纠错
得分: 0
知识点: 位运算
收起解析
答案 A
解析 C语言程序设计/位运算/异或运算符
20.(4分)若有定义typedef char STRING[255];STRING s;则s是
A.字符指针数组变量
B.字符指针变量
C.字符变量
D.字符数组变量
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 D
解析 C语言程序设计/结构体与共用体
21.(4分)下面哪个表达式的值为4: A.11/3 B.11.0/3 C.(float)11/3
D.(int)(11.0/3+0.5)
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 D
解析 C语言程序设计/数据类型及运算
二、判断
1.(4分)int k=0;do{++k;}while(k>=0);是无限循环的语句
纠错
得分: 4
知识点: 循环程序设计 收起解析
答案 错误
解析 C语言程序设计/循环程序设计/do-while语句
2.(4分)在计算机内部,unsigned int 和 int类型的数据所占存储空间大小是一样的.
纠错
得分: 4
知识点: 数据类型及运算
收起解析
答案 正确
解析 C语言程序设计/数据类型及运算
3.(4分)对for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)
纠错
得分: 4
知识点: 循环程序设计
收起解析
答案 正确
解析 C语言程序设计/循环程序设计/for语句
4.(4分)C语言中没有真正的多维数组
纠错
得分: 4
知识点: 数组
收起解析
答案 正确
解析 C语言程序设计/数组
(4分)以下程序main(){int x=10,y=10;printf('%d %d ',x--,--y);}的输出结果是() A.10 10 B.9 9 C.9 10 D.10 9
纠错 得分: 0
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
2.(4分)下列有关字符数组与字符串的说法中正确的是() A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/关字符数组与字符串
3.(4分)设E为表达式,以下与do…while(E);不等价的语句是
A.do…while(!E==0)B.do…while(E>0||E<0)C.do…while(E==0)D.do…while(E!=0)
纠错
得分: 0
知识点: 循环控制
收起解析
答案 C
解析 C语言程序设计/循环控制
4.(4分)C语言中,逻辑真表示为() A.TRUE B.'y'或'Y' C.1
D.非零值
纠错
得分: 0
知识点: 选择程序设计
收起解析
答案 C
解析 C语言程序设计/选择程序设计/逻辑运算符
5.(4分)以下描述中正确的是() A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作
D.do-while循环中,根据情况可以省略while。
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/do-while语句
6.(4分)以下程序的输出结果是? #include main(){ int x=020,y=0x20,z=20;printf('%d,%d,%d ',x,y,z);} A.20,20,20 B.32,16,20 C.16,32,20 D.20,32,20
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 C
解析 C语言程序设计/数据类型及运算
7.(4分)以下叙述中不正确的是() A.预处理命令都必须以#开始
B.在C程序中凡是以#开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.以下是正确的宏定义 #define IBM_PC
纠错
得分: 0
知识点: 编译预处理
收起解析
答案 C
解析 C语言程序设计/编译预处理/预处理命令
8.(4分)在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码() A.大32 B.大64 C.小32 D.小64
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/字符常数比较
9.(4分)设有说明:char *str[10];则标识符str的意义是() A.str是一个指向有10个元素的数组的指针
B.str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型
C.str是一个指向char型函数的指针
D.str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
纠错
得分: 0
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/字符串指针
10.(4分)在C语言中,每个语句和数据定义是用()结束
A.句号
B.逗号
C.分号
D.括号
纠错
得分: 0
知识点: C语言概述
收起解析
答案 C
解析 C语言程序设计/C语言概述/C程序的组成11.(4分)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为() A.1 B.2 C.3 D.4
纠错
得分: 0
知识点: 选择结构程序设计
收起解析 答案 B
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
12.(4分)若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是() A.p+=4,*(p++)B.p+=4,*++p C.p+=5,*p++ D.p+=4,++*p
纠错
得分: 0
知识点: 指针
收起解析
答案 A
解析 C语言程序设计/指针/字符串指针的引用
13.(4分)在C语言中运算符的优先级从高到低的排列顺序是
A.关系运算符 算术运算符 赋值运算符
B.算术运算符 赋值运算符 关系运算符
C.赋值运算符 关系运算符 算术运算符
D.算术运算符 关系运算符 赋值运算符
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 D
解析 C语言程序设计/数据类型及运算
14.(4分)若x、i、j和k都是int型变量,则计算下面表达式后,x的值为()x=(i=4,j=16,k=32) A.4 B.16 C.32 D.52
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 C
解析 C语言程序设计/数据类型与运算/逗号表达式
15.(4分)对说明语句int a[10]={6,7,8,9,10};的正确理解是() A.将5个初值依次a[1]至a[5] B.将5个初值依次a[0]至a[4] C.将5个初值依次a[5]至a[9] D.将5个初值依次a[6]至a[10]
纠错
得分: 0
知识点: 数组
收起解析
答案 B
解析 C语言程序设计/数组/一维数组的引用
16.(4分)在C语言程序中,下面哪一个是正确的? A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义可以嵌套,函数的调用也可以嵌套
D.函数的定义和函数的调用都不可以嵌套
纠错
得分: 0
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数
17.(4分)执行下列程序段后, int x=10,y=9;int a,b,c;a=(--x= =y++)?--x:++y;b=x++;c=y;变量a,b,c的值分别是() A.a=9,b=9,c=9 B.a=8,b=8,c=10 C.a=9,b=10,c=9 D.a=8,b=8,c=9
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 B
解析 C语言程序设计/选择结构程序设计/条件与算术运算符
18.(4分)设以下变量均为int类型,则值不等于7的表达式是() A.x=y=6,x+y,x+1 B.x=y=6,x+y,y+1 C.x=6,x+1,y=6,x+y D.y=6,y+1,x=y,x+1
纠错
得分: 0 知识点: 数据类型与运算
收起解析
答案 C
解析 C语言程序设计/数据类型与运算/算术表达式
19.(4分)下面程序的运行结果是()#includemain(){int i,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}printf('%d,%d',k,b);} A.3,-1 B.8,-1 C.3,0 D.8,-2
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 D
解析 C语言程序设计/循环程序设计/循环的嵌套
20.(4分)若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是() A.&p B.a++ C.&(p+1)D.&p[i]
纠错
得分: 0
知识点: 指针
收起解析
答案 D
解析 C语言程序设计/指针/数组指针的引用
21.(4分)写出下面程序的输出结果()main(){int i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);} A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 C 解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
二、判断
1.(4分)在C 语言中,共用体类型属于构造类型
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 正确
解析 C语言程序设计/数据类型与运算/构造数据类型
2.(4分)main(){short i;i=-4;printf(' i:dec=%d, oct=%o, hex=%x, unsigned=%u ',i,i,i,i);}以上程序的输出结果为i:dec=-4, oct=177774, hex=fffc, unsigned=65532
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 正确
解析 C语言程序设计/数据类型与运算/数据类型输出格式
3.(4分)C语言中没有真正的多维数组
纠错
得分: 0
知识点: 数组
收起解析
答案 正确
解析 C语言程序设计/数组
4.(4分)已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数scanf('%o%x%e',&i,&j,&x);调用语句的数据输入形式是-12ucu4.1034e2(u代表空格) 纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 正确
解析 C语言程序设计/顺序程序设计/格式输入
(4分)以下程序的运行结果是()typedef union {long a[2];int b[4];char c[8];}TY;TY our;main(){printf('%d ',sizeof(our));} A.32 B.16 C.8 D.24
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/共用体变量存储
2.(4分)下列选项中,不合法的C语言关键字是
A.auto B.default C.static D.var
纠错
得分: 0
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述
3.(4分)若有定义typedef char STRING[255];STRING s;则s是
A.字符指针数组变量
B.字符指针变量
C.字符变量
D.字符数组变量
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 D 解析 C语言程序设计/结构体与共用体
4.(4分)以下不正确的定义语句是() 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'}
纠错
得分: 4
知识点: 数组
收起解析
答案 B
解析 C语言程序设计/数组/一维数组的综合5.(4分)表达式-l?(10?10:1):(0?0:-1)的值为() A.10 B.1 C.0 D.-1
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/逗号表达式
6.(4分)设有程序段int k=10;while(k=0)k=k-1;则下面描述中正确的是() A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
纠错
得分: 4
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/while语句
7.(4分)以下read函数的调用形式中,参数类型正确的是() A.read(int fd,char *buf,int count)B.read(int *buf,int fd,int count) C.read(int fd,int count,char *buf)D.read(int count,char *buf,int fd)
纠错
得分: 0
知识点: 文件
收起解析
答案 A
解析 C语言程序设计/文件/文件的读和写
8.(4分)对说明语句int a[10]={6,7,8,9,10};的正确理解是() A.将5个初值依次a[1]至a[5] B.将5个初值依次a[0]至a[4] C.将5个初值依次a[5]至a[9] D.将5个初值依次a[6]至a[10]
纠错
得分: 4
知识点: 数组
收起解析
答案 B
解析 C语言程序设计/数组/一维数组的引用
9.(4分)以下叙述正确的是() A.在C程序中,main函数必须位于程序的最前面
B.在C程序的每一行只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
纠错
得分: 0
知识点: C语言概述
收起解析
答案 C
解析 C语言程序设计/C语言概述/主函数
10.(4分)在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找被包含文件的方式是() A.仅仅搜索当前目录
B.仅仅搜索源程序所在目录
C.直接按系统设定的标准方式搜索目录
D.先在源程序所在目录搜索,再按系统设定的标准方式搜索
纠错
得分: 4
知识点: 编译预处理 收起解析
答案 C
解析 C语言程序设计/编译预处理/文件包含处理
11.(4分)设有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的输出结果是() A.运行错误
B.100 C.i的地址
D.j的地址
纠错
得分: 4
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/引用与地址
12.(4分)关于fseek函数,以下有关操作的叙述不正确的是() A.可以改变文件的位置指针
B.可以实现文件的顺序读写
C.可以实现文件的随机读写
D.只可以顺序定位文件的位置指针
纠错
得分: 4
知识点: 文件
收起解析
答案 D
解析 C语言程序设计/文件/文件的定位
13.(4分)在位运算中,操作数每左移2位,相当于() A.操作数*2 B.操作数/2 C.操作数*4 D.操作数/4
纠错
得分: 4
知识点: 位运算
收起解析
答案 C
解析 C语言程序设计/位运算/左移运算符
14.(4分)有枚举类型的定义: enum color1 { yellow,green,blue=5,red,brown};则枚举常量yellow 和 red的值分别是
A.3,6 B.1,6 C.0,6 D.0,3
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 C
解析 C语言程序设计/结构体与共用体
15.(4分)有程序:main(){int a=5,b=1,c=0;if(a=b+c)printf('*** ');else printf('$$$ ');}该程序() A.有语法错误不能通过编译
B.可以通过编译,但不能通过连接
C.输出:*** D.输出:$$$
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 C
解析 C语言程序设计/选择结构程序设计/if-else语句
16.(4分)系统的标准输入文件是指() A.键盘
B.显示器
C.软盘
D.硬盘
纠错
得分: 4
知识点: 文件
收起解析
答案 A
解析 C语言程序设计/文件/文件的定义
17.(4分)设有程序段t=0;while(printf('*')){t++;if(t<3)break;}下面描述正确的是() A.其中循环控制表达式与0等价
B.其中循环控制表达式与'0'等价
C.其中循环控制表达式是不合法的 D.以上说法都不对
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 B
解析 C语言程序设计/循环程序设计/break语句
18.(4分)以下叙述中不正确的是() A.预处理命令都必须以#开始
B.在C程序中凡是以#开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.以下是正确的宏定义 #define IBM_PC
纠错
得分: 0
知识点: 编译预处理
收起解析
答案 C
解析 C语言程序设计/编译预处理/预处理命令
19.(4分)以下关于运算符优先顺序的描述中正确的是() A.关系运算符<算术运算符<赋值运算符<逻辑运算符
B.逻辑运算符<关系运算符<算术运算符<赋值运算符
C.赋值运算符<逻辑运算符<关系运算符<算术运算符
D.算术运算符<关系运算符<赋值运算符<逻辑运算符
纠错
得分: 4
知识点: 选择结构程序设计
收起解析
答案 C
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
20.(4分)已知函数的调用形式:fread(buffer, size, count, fp);其中buffer代表
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针变量,指向要读的文件
C.一个储存区,存放要读的数据项
D.一个指针变量,它存放数据缓冲区的地址
纠错
得分: 0
知识点: 文件
收起解析 答案 D
解析 C语言程序设计/文件
21.(4分)若有以下定义:char s[10]='include',*p=s;则不能代表字符u的表达式是() A.s[4] B.s+4 C.*(p+4)D.p+=4,*p
纠错
得分: 0
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/字符串指针的引用
二、判断
1.(4分)在C 语言中,共用体类型属于构造类型
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 正确
解析 C语言程序设计/数据类型与运算/构造数据类型
2.(4分)int k=0;do{++k;}while(k>=0);是无限循环的语句
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 错误
解析 C语言程序设计/循环程序设计/do-while语句
3.(4分)main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf('%d,%d',x,x&&!y||z);}程序的运行结果是1,1 纠错
得分: 4
知识点: 选择结构程序设计
收起解析
答案 错误
解析 C语言程序设计/选择结构程序设计/逻辑表达式
4.(4分)C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中.
纠错
得分: 0
知识点: 结构体与共用体
收起解析
答案 错误
解析 C语言程序设计/结构体与共用体
(4分)已有以下数组定义和f函数调用语句,int a[3][4];f(a);则在f函数的说明中,对形参数组array的错误定义方式为() A.f(int array[][6])B.f(int array[3][])C.f(int array[][4])D.f(int array[2][5])
纠错
得分: 4
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数/数组作为函数参数
2.(4分)设有说明:char *str[10];则标识符str的意义是() A.str是一个指向有10个元素的数组的指针
B.str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型
C.str是一个指向char型函数的指针
D.str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
纠错
得分: 4
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/字符串指针 3.(4分)下面程序main(){int x=4,y=0,z;x*=3+2;printf(“%d”,x);x*=y= =(z=4);printf(“%d”,x);}的输出结果是() A.14 40 B.20 0 C.20 4 D.14 4
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/算术表达式
4.(4分)下列选项中,不合法的C语言关键字是
A.auto B.default C.static D.var
纠错
得分: 0
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述
5.(4分)定义一个联合体变量时,系统分配给它的内存是() A.联合体中第一个成员所需内存量
B.联合体中最后一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.各成员所需内存量的总和
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/共用体变量定义
6.(4分)以下有关宏替换的叙述不正确的是() A.宏替换不占用运行时间
B.宏名无类型 C.宏替换只是字符替换
D.宏名必须用大写字母表示
纠错
得分: 4
知识点: 编译预处理
收起解析
答案 D
解析 C语言程序设计/编译预处理/宏定义
7.(4分)写出下面程序的输出结果()main(){int i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);} A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 C
解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
8.(4分)若有以下定义,int a,b;float x;则正确的赋值语句是() A.a=1,b=2 B.b++ C.a=b=5 D.b=int(x)
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/变量赋初值
9.(4分)下面四个选项中,均是不合法的用户标识符的选项是() A.A,P_0,do B.float,la0,_A C.b-a,goto,int D._123,temp,INT
纠错
得分: 4
知识点: 数据类型与运算 收起解析
答案 C
解析 C语言程序设计/数据类型与运算/标识符
10.(4分)设有下面的程序段,char s[]='china';char *p;p=s;则下列正确的是() A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相等
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
纠错
得分: 4
知识点: 指针
收起解析
答案 D
解析 C语言程序设计/指针/数组与指针
11.(4分)设有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);请问执行后的输出结果是() A.16,10,8 B.8 10 16 C.10,10,10 D.8,10,16
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/整型变量
12.(4分)下列有关字符数组与字符串的说法中正确的是() A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/关字符数组与字符串
13.(4分)在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是() A.extern B.register C.auto D.static
纠错
得分: 4
知识点: 函数
收起解析
答案 D
解析 C语言程序设计/函数/变量的存储类型
14.(4分)以下程序#include main(){printf('%d ',NULL);}的输出结果是() A.不确定的值(因变量无定义)B.0 C.-1 D.1
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 B
解析 C语言程序设计/顺序程序设计/NULL的输出
15.(4分)printf函数中用到格式符'%4s',其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为() A.从左起输出该字符串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字符,左补空格
D.输出错误信息
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 C
解析 C语言程序设计/顺序程序设计/字符串的输出格式
16.(4分)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是() A.float型
B.int型 C.long型
D.double型
纠错
得分: 4
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数/函数返回值
17.(4分)下列字符串不属于标识符的是() A.total
B.lutos_1_2_3 C._night D.$ 123
纠错
得分: 4
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述/C程序标识符
18.(4分)若有以下定义, int k=7,x=12, 则能使值为3的表达式是() A.x%=k%=5 B.x%=k-k%5 C.x%=(k-k%5)D.(x%=k)-(k%=5)
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 D
解析 C语言程序设计/数据类型与运算/算术表达式
19.(4分)表达式-l?(10?10:1):(0?0:-1)的值为() A.10 B.1 C.0 D.-1
纠错
得分: 0
知识点: 数据类型与运算
展开解析 20.(4分)不属于面向机器语言的是() A.符号语言
B.二进制语言
C.汇编语言
D.C语言
纠错
得分: 4
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述/C程序特点
21.(4分)下列字符串是标识符的是() A._HJ
B.9_student C.long D.LINE 1
纠错
得分: 4
知识点: C语言概述
收起解析
答案 A
解析 C语言程序设计/C语言概述/C程序标识符
二、判断
1.(4分)C语言中形参到实参传递是双向的
纠错
得分: 4
知识点: 函数
收起解析
答案 错误
解析 C语言程序设计/函数
2.(4分)若有说明int *p1,*p2,m=5,n;则p1=&m;p2=&p1;是正确的程序段
纠错
得分: 4
知识点: 指针
收起解析
答案 错误
解析 C语言程序设计/指针/指针变量的定义
3.(4分)在C 语言中,指针类型属于构造类型
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 错误
解析 C语言程序设计/数据类型与运算/构造数据类型
4.(4分)C语言中的main函数必须位于程序的最前面
纠错
得分: 4
知识点: C语言概述
收起解析
答案 错误
解析 C语言程序设计/C语言概述
(4分)以下对二维数组a的正确说明是() A.int a[3][] B.float a(3,4)C.double a[1][4] D.float a(3)(4)
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/二维数组的定义
2.(4分)若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是() A.p+=4,*(p++)B.p+=4,*++p C.p+=5,*p++ D.p+=4,++*p
纠错
得分: 4
知识点: 指针
收起解析
答案 A
解析 C语言程序设计/指针/字符串指针的引用
3.(4分)putchar函数可以向终端输出一个() A.整型变量表达式
B.实型变量值
C.字符串
D.字符或字符型变量值
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/putchar函数
4.(4分)下列有关字符数组与字符串的说法中正确的是() A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/关字符数组与字符串
5.(4分)若要求表示a不等于0的关系,错误的表达式是() A.a<>0 B.a!=0 C.a
D.a<0| |a>0
纠错
得分: 0 知识点: 选择程序设计
收起解析
答案 A
解析 C语言程序设计/选择程序设计/关系表达式
6.(4分)阅读以下程序,int w=1,x=2,y=3,z=4,m;m=w A.1 B.2 C.3 D.4
纠错
得分: 4
知识点: 选择结构程序设计
收起解析
答案 A
解析 C语言程序设计/选择结构程序设计/条件运算符嵌套
7.(4分)定义一个结构体变量时,系统分配给它的内存是() A.结构体中第一个成员所需内存量
B.结构体中最后一个成员所需内存量
C.成员中占内存量最大者所需内存量
D.各成员所需内存量的总和
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 D
解析 C语言程序设计/结构体与共同体/结构体变量定义
8.(4分)若有定义typedef char STRING[255];STRING s;则s是
A.字符指针数组变量
B.字符指针变量
C.字符变量
D.字符数组变量
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 D
解析 C语言程序设计/结构体与共用体
9.(4分)下面程序的运行结果是()#includemain(){int i,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}printf('%d,%d',k,b);} A.3,-1 B.8,-1 C.3,0 D.8,-2
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 D
解析 C语言程序设计/循环程序设计/循环的嵌套
10.(4分)判断字符串a和b是否相等,应当使用() A.if(a==b)B.if(a=b)
C.if(strcmp(a,b))D.if(strcmp(a,b)==0)
纠错
得分: 0
知识点: 数组
收起解析
答案 D
解析 C语言程序设计/数组/字符串处理函数
11.(4分)设有程序段int k=10;while(k=0)k=k-1;则下面描述中正确的是() A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
纠错
得分: 4
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/while语句
12.(4分)以下叙述中正确的是() A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占用编译时间
D.以下定义中C R是称为宏名的标识符#define C R 045 纠错
得分: 4
知识点: 编译预处理
收起解析
答案 C
解析 C语言程序设计/编译预处理/宏定义
13.(4分)设有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是() A.z=exp(y)+fabs(x)B.y=log10(y)+pow(y)C.z=sqrt(y-z)
D.x=(int)(atan2((double)x,y)+exp(y-0.2))
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 D
解析 C语言程序设计/数据类型与运算/赋值表达式
14.(4分)若有int w=1,x=2,y=3,z=4;则表达式w A.4 B.3 C.2 D.1
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 D
解析 C语言程序设计/选择结构程序设计/条件运算符嵌套
15.(4分)设整型变量a和b的值分别为8和9。printf('%d,%d',(a++,++b),b--);的输出是() A.8,8 B.8,7 C.9,9 D.10,9
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 C 解析 C语言程序设计/顺序程序设计/格式输入输出综合16.(4分)在C语言程序中,下面哪一个是正确的? A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义可以嵌套,函数的调用也可以嵌套
D.函数的定义和函数的调用都不可以嵌套
纠错
得分: 0
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数
17.(4分)以下描述中正确的是() A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作
D.do-while循环中,根据情况可以省略while。
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/do-while语句
18.(4分)定义一个联合体变量时,系统分配给它的内存是() A.联合体中第一个成员所需内存量
B.联合体中最后一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.各成员所需内存量的总和
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/共用体变量定义
19.(4分)C语言提供的合法关键字是() A.break B.print C.funtion D.end
纠错
得分: 4
知识点: C语言概述
收起解析
答案 A
解析 C语言程序设计/C语言概述/C程序关键字
20.(4分)设整型变量a值为9,则下列表达式中使b的值不为4的表达式() A.b=a/2 B.b=a%2 C.b=8-(3,a-5)D.b=a>5?4:2
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/整型算术表达式
21.(4分)不属于面向机器语言的是() A.符号语言
B.二进制语言
C.汇编语言
D.C语言
纠错
得分: 0
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述/C程序特点
二、判断
1.(4分)对for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)
纠错
得分: 4
知识点: 循环程序设计 收起解析
答案 正确
解析 C语言程序设计/循环程序设计/for语句
2.(4分)若有说明int c;则while(c=getchar());是错误的C语句.
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 错误
解析 C语言程序设计/数据类型及运算
3.(4分)已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数scanf('%o%x%e',&i,&j,&x);调用语句的数据输入形式是-12ucu4.1034e2(u代表空格)
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 正确
解析 C语言程序设计/顺序程序设计/格式输入
4.(4分)int k=0;do{++k;}while(k>=0);是无限循环的语句
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 错误
解析 C语言程序设计/循环程序设计/do-while语句
下列有关字符数组与字符串的说法中正确的是()(4分)
A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串 正确C 3.putchar函数可以向终端输出一个()(4分)
A.整型变量表达式
B.实型变量值
C.字符串
D.字符或字符型变量值
正确D 以下是对二维数组的正确说明的是()A.int[3][] B.float a(3,4)C.double a[1][4] D.float a(3)(4)正确 C 1.20701、以下正确的说法是。C A)用户若需要调用标准库函数,调用前必须重新定义 B)用户系统根本不允许用户重新定义标准库函数
C)用户可以重新定义标准库函数,若如此,该函数将失去原有意义 D)用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动寻找该文件。2.20702、按照C语言规定,以下不正确的说法是。B A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式
C)实参可以是任意类型 D)实参应与其对应的形参类型一致 3.20703、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。B A)地址传递 B)单向值传递
C)由实参传给形参,再由形参传回实参 D)调用时指定传递方式 4.20704、以下程序有语法性错误,有关错误原因的正确说法是 C。void main(){int G=5,k;void prt_char();......k=prt_char(G);......} A)语句void prt_char();有错,它是函数调用语句,不能用void说明 B)变量名不能使用大写字母
C)函数说明和函数调用语句之间有矛盾 D)函数名不能使用下划线 5.20705、C语言规定,函数返回值的类型是由所决定。D A)return语句中的表达式类型 B)调用该函数时的主调函数类型 C)调用该函数是系统临时指定 D)在定义该函数时所指定的函数类型 6.20706、若函数定义为: int data(){ float x=9.9;return(x);} 则函数返回的值是。B A)9.9 B)9 C)10 D)出现错误 7.20707、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是。B A)float型 B)int型 C)long型 D)double型 8.20708、以下正确的描述是。B A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和函数的调用均不可嵌套 D)函数的定义和函数的调用均可以嵌套 9.20709、已有以下数组定义和f函数调用语句:B int a[3][4];f(a);则在f函数的说明中,对形参数组array的错误定义方式为。A)f(int array[][6])B)f(int array[3][])C)f(int array[][4])D)f(int array[2][5])10.20710、以下错误的描述是。D A)函数调用可以出现在执行语句中 B)函数调用可以出现在表达式中 C)函数调用可以作为函数的实参 D)函数调用可以作为函数的形参 11.20711、以下不正确的说法为。D A)在不同函数中可以使用相同名字的变量 B)形式参数是局部变量
C)在函数内定义的变量只在本函数范围内有效
D)在函数内的复合语句中定义的变量在本函数范围内有效 12.20712、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为。A A)auto B)static C)extern D)register 13.20713、以下程序的正确运行结果是。C #include
历次成绩 1.56.0 完成时间
2015-02-23 11:30:27
查看详情
C语言程序设计课程作业_C 0,0,0 1,2,3 1,2,1 2,2,2
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0 1,2,3 2,2,2 8.C语言规定:在一个源程序中,main函数的位置()可以任意 必须在最后 必须在最开始
必须在系统调用的库函数的后面
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 可以任意 可以任意
9.函数rewind的作用是()使位置指针指向文件的末尾
将位置指针指向文件中所要求的特定位置 使位置指针重新返回文件的开头 使位置指针自动移到下一个字符位置
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 使位置指针重新返回文件的开头 使位置指针重新返回文件的开头
10.设有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);请问执行后的输出结果是()16,10,8 8 10 16 10,10,10 8,10,16
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0 8 10 16 16,10,8
11.C语言源程序的最小单位是()程序行 语句 函数 字符
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0 函数 字符
12.以下函数的功能对应于 int fun(char *s,char *t){ while(*s)&&(*t)&&(*t==*s)} { t++;s++;} return(*s-*t);} strlen(s)+strlen(t)strcmp(s,t)strcpy(s,t)
strcat(s,t)
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 strcmp(s,t)strcmp(s,t)
13.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时,函数feof(fp)值 0 1-1
一个非0值的
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0-1 一个非0值的
14.以下叙述中正确的是()在程序的一行上可以出现多个有效的预处理命令行 使用带参的宏时,参数的类型应与宏定义时的一致 宏替换不占用运行时间,只占用编译时间
以下定义中C R是称为宏名的标识符#define C R 045
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 宏替换不占用运行时间,只占用编译时间 宏替换不占用运行时间,只占用编译时间
15.根据下面程序及数据的输入和输出形式,main(){char ch1,ch2,ch3;输入语句printf('%c%c%c',ch1,ch2,ch3);}, 输入形式:AuBuC输出形式:AuB, 程序中输入语句的正确形式应该为()(u代表空格)scanf('%c%c%c',&ch1,&ch2,&ch3)scanf('%c,%c,%c',&ch1,&ch2,&ch3)scanf('%c %c %c',&ch1,&ch2,&ch3)scanf('%c%c',&ch1,&ch2,&ch3)
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 scanf('%c%c%c',&ch1,&ch2,&ch3)scanf('%c%c%c',&ch1,&ch2,&ch3)
16.若有以下定义,int a,b;float x;则正确的赋值语句是()a=1,b=2 b++ a=b=5 b=int(x)
本题分值:
4.0 用户得分:
0.0
第四篇:《C语言程序设计》课程教学大纲
《C语言程序设计》课程教学大纲
一、课程教学目的
本课程系统学习C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。
二、课程教学要求
通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、课时分配
本学科计划学时为246学时,其中理论与实训课时比例为7:3。
四、课程教学重、难点
课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。难点:指针的使用、结构体链表的构造和使用及函数的参数传递。
五、课程教学方法(或手段)
本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。
六、课程教学内容 第一章 C语言概述 1.教学内容
(1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2)C语言的历史背景、特点;(3)C语言源程序的格式和程序结构;(4)C程序的上机步骤。2.重、难点提示
(1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等;
(2)难点:编程入门以及对语言的理解。第二章 算法 1.教学内容
(1)算法的概念及特性;评价算法优劣的方法(时间和空间);(2)简单算法举例;
(3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化程序设计的基本思想及基本步骤。2.重、难点提示
(1)重点: 算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解);
(2)难点: 算法概念以及对结构化程序设计思想的理解。第三章 数据类型、运算符与表达式 1.教学内容
(1)基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六进制)的整型数和长整型数,实型数(float和double);
(2)变量的类型说明、初始化及引用;(3)运算符与表达式: 2.重、难点提示
(1)重点: 掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。
(1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。第四章 最简单的 C 程序设计 — 顺序程序设计 1.教学内容
(1)C程序结构和语句的构成;
(2)顺序结构程序的设计:赋值语句的使用要点;(3)数据的输入与输出: 2.重、难点提示
(1)重点: 顺序结构程序的表达式语句形式; 输入/输出函数的表示与调用方法; 利用流程图加深对顺序结构程序的理解。
(2)难点: 格式输入与输出表示中各种格式字符的表示含义。
第五章 选择结构程序设计 1.教学内容
(1)关系运算符和关系表达式;(2)逻辑运算符和逻辑表达式;
(3)if语句(if;if„else„;if„else if„else„);(4)switch和break语句。2.重、难点提示
(1)重点:关系、逻辑运算符及其表达式的语法形式;掌握if语句;switch语句; 利用流程图加深对选择结构程序的理解。
(1)难点: 关系与逻辑运算符表达式的结果判定; if语句嵌套的层次判定;程序中使用break语句运行结果的判定。第六章 循环控制 1.教学内容
(1)用goto语句构成循环、for语句、while语句和do„while语句;(2)循环嵌套;
(3)break,continue语句。2.重、难点提示
(1)重点:掌握while语句与do while语句的结构,for语句的结构,其使用方法;常见的循环嵌套形式;正确区分for语句、do„while语句与while语句;break语句和continue的应用及其区别;
(2)难点:分析总结常用的程序设计方法及算法特点,并能编写相应的程序。第七章 数组 1.教学内容
⑴ 数组的含义与存储特点; ⑵ 数组的定义与使用; ⑶ 字符数组。2.重、难点提示
(1)重点:掌握一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字符串处理函数。
(2)难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。
第八章 函数 1.教学内容 ⑴ 函数的定义;
⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语句; ⑶ 参数的传递方式:形式参数与实在参数; ⑷ 局部变量与全局变量; ⑸ 变量的动态存储与静态存储; ⑹ 内部函数与外部函数。2.重、难点提示
(1)重点: 掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。
(2)难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。第九章 预处理命令 1.教学内容
⑴ 预处理的概念与特点; ⑵ 符号常数和宏的定义; ⑶ “文件包含”处理。2.重、难点提示
(1)重点:宏定义的方法;“文件包含”与预处理的应用。(2)难点:宏定义的方法。第十章 指针 1.教学内容
⑴ 指针与地址的概念;
⑵ 指针变量的定义,初始化;指针变量的引用(取地址运算符&及指针运算符*);指针变量作为函数参数的应用;
⑶ 指针与数组(数组的指针和指向数组的指针变量); ⑷ 字符串的指针和指向字符串的指针变量;
⑸ 函数的指针和指向函数的指针变量、返回指针值的指针函数; ⑹ 指针数组和指向指针的指针;
⑺ 对main()函数命令行参数的基本了解。2.重、难点提示
(1)重点:指针变量定义、初始化和引用;数组的指针和指向数组的指针变量;字符串的指针和指向字符串的指针变量;指针数组与指向指针的指针。
(2)难点:指针概念深刻理解;区别指向数组的指针和指针数组;指向指针的指针; 有关指针的数据类型定义和指针的相关运算。第十一章 结构体与共用体 1.教学内容
⑴ 定义结构体类型变量的方法;
⑵ 结构体变量的引用与结构体变量的初始化; ⑶ 结构体数组与指向结构体数据的指针; ⑷ 指向结构体类型数据的指针及用指针处理链表; ⑸ 共用体; ⑹ 枚举类型;
⑺ 用typedef定义类型。2.重、难点提示
(1)重点:掌握结构体类型变量的定义方法;结构体类型变量的引用方法;结构体类型变量如何在定义的同时初始化; 通过图示正确理解链表的概念和形态,共同体的含义、共同体类型变量的定义方法。
(2)难点:结构体与共用体概念的掌握;各种结构体结构的定义。第十二章 位运算 1.教学内容
⑴ 运算符和位运算; ⑵ 位运算举例; ⑶ 位段。2.重、难点提示
(1)重点:掌握各种位运算符,运算规则和优先级。(2)难点:各种位运算符的运算规则和优先级。第十三章 文件 1.教学内容
⑴ 文件类型指针; ⑵ 文件的打开与关闭; ⑶ 文件的读写; ⑷ 文件的定位。2.重、难点提示
(1)重点:掌握文件操作的相关标准函数;(2)难点:文件的读写和定位操作。
七、实验教学内容
实验项目(一):C 语言中控制语句的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握各类控制语句的书写格式,能在具体问题解决时给出合适的程序控制结构;用分支结构实现程序的条件控制;用循环结构实现程序中重复执行操作的控制。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(二):C 语言中数组的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握数组这种构造类型的特点,如何用数组数据对象并对数据对象进行处理;熟练掌握一维数组的定义、引用、初始化,用一维数组来对字符进行处理;掌握二维数组的定义、引用、初始化,用二维数组实现矩阵的有关方法算法。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(三):C 语言中函数的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
C语言中用函数来实现子功能模块,掌握系统函数的调用方法及用户自定义函数的定
义、调用方法;用自定义函数来实现一个具体问题;用自定义函数的嵌套调用来实现一个复杂问题。
(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(四):C 语言中指针的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握指针变量的运用,通过指针引用数组元素的方法,函数指针变量作函数的参数;在程序中进行指针变量的运算操作,指针变量作函数的参数;数组元素的指针。(4)主要仪器:计算机(5)实验考核方法:随堂考查
实验项目(五):C 语言中结构体与链表的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握结构体类型变量的定义和使用;结构体类型数组的概念和应用;链表的创建与使用;检共用体的概念与使用。(4)主要仪器:计算机(5)实验考核方法:随堂考查
实验项目(六):C 语言中文件的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握文件以及缓冲文件系统、文件指针的概念;学会使用文件打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。(4)主要仪器:计算机(5)实验考核方法:随堂考查
八、课程考核方式 1.考核方式:
闭卷考试 2.成绩构成:
平时+期末
九、选用教材和参考书目
[1]《C程序设计》(第三版),谭浩强编,清华大学出版社,2007。
[2]《数据结构—用C语言描述》(第二版),唐策善编,高等教育出版社,2004。[3]《程序设计基础与C语言》(第一版),梁力.郭晓玲.高浩编,西安电子科技大学出版社,2001。
[4]《C语言程序设计》(第二版)刘德恒编,电子工业出版社,2001。
第五篇:A01_C语言程序设计课程说明
《C语言程序设计》课程说明
课程性质任务:本课程是中央广播电视大学开放教育“计算机科学与技术专业(本科)”的一门专业基础课,中央电大统设必修。4学分,72学时,开设一学期。主要任务是介绍C语言中的数据类型、数据表示、运算规则、语句定义、函数调用、程序结构、文件使用以及面向过程的结构化、模块化程序设计方法等内容。
课程主要内容:本课程的主要内容是介绍C语言上机操作环境、程序基本结构,系统函数的使用;介绍常用输入输出函数的作用;介绍C语言基本数据类型、常量、变量、运算符、数学函数、表达式等的表示与含义;介绍各种分支语句、循环语句的流程控制功能及相应的程序设计方法;介绍一维数组和二维数组的定义与作用,字符串数组的特殊存储格式与作用;介绍指针的定义和运算,变量存储空间的动态分配,数组名的指针含义;介绍用户函数的定义与调用,值参数和指针参数的使用,变量的作用域,递归函数;介绍结构和联合类型的定义与应用,结构链表的建立和使用;介绍文件的概念,文件的打开和关闭,字符文件和字节文件的处理操作;介绍利用C语言编写解决实际问题的程序设计思路和方法。先修课程是《计算机应用基础》等,对计算机基本结构、编码系统和内外存储系统有一定了解。
课程能力目标:通过本课程的学习,使学生能够利用一种计算机程序设计语言编写出解决较简单的数值计算和数据处理问题的程序,逐步掌握C语言面向过程的结构化、模块化程序设计的基本知识和基本技能,为学习后续课程奠定程序设计和算法设计的基础。
课程教学媒体:本课程的教学媒体主要有文字教材、音像教材、常规资料、IP课件、CAI课件等,具体说明如下。
1、文字教材:《C语言程序设计》任爱华编著中央广播电视大学出版社《C语言程序设计形成性考核作业册》徐孝凯中央电大编辑部《C语言程序设计期末复习指导》徐孝凯中央电大编辑部
2、音像教材:《C语言程序设计》(A类视频,共20讲,每讲50分钟)任爱华主讲《C语言程序设计》(B类视频,共2讲,每讲50分钟)徐孝凯主讲
3、常规资料:《C语言程序设计》课程说明、教师介绍等8种常规资料,详见中央电大在线平台和江苏电大在线平台open.jstvu.edu.cn。
4、IP课件:《C语言程序设计》(共16讲)徐孝凯主讲,详见中央电大在线平台。