第一篇:程序设计(C)第三次作业
题目1
给定下列程序,则运行结果为()#include
void main(){ int a, b, c;
fun(11, 5, &a);
fun(8, a, &b);
fun(a, b, &c);
printf(“%d, %d, %dn”, a, b, c);}
A.2, 6, 4
B.2,4,6
C.6,4,2
D.6, 2, 4
题目2
两个指针变量不能()
A.指向同一地址
B.相加
C.比较
D.相减
题目3
C 语句int *func();中,func 表示的是()
A.返回值为指针的函数名称
B.指向数组的指针
C.指向整型变量的指针
D.指向函数的指针
题目4
下列说法中不正确的是()
A.C 语言规定,不能在一个函数的内部再定义函数
B.函数的类型可以是整型、实型、字符型,但不能是指针类型
C.在没有声明函数返回值类型的情况下,默认函数返回值类型为int 型
D.函数可以没有形参,但函数名后的括号不能省略
题目5
阅读下列程序段,其执行结果为()#include
x += a++;
printf(“%d,”, x);}
void main(){ int a = 3, x = 1;
fun(a);
x += a++;
printf(“%dn”, x);}
A.8,5
B.8,4
C.8,3
D.8,2
题目6
下列说法中正确的是()
A.如果形参与实参的类型不一致,则以实参类型为准
B.return 后面的值不能为表达式
C.定义函数时,形参的类型说明可以放在函数体内
D.如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准
题目7
下列说法中错误的是()
A.在一个函数的复合语句中定义的变量只在本函数范围内有效
B.在不同的函数中可以使用相同名字的变量
C.函数中的形参是局部变量
D.在一个函数内定义的变量只在本函数范围内有效 题目8
给定下列程序,则其运行结果为()#include
{ static int array[][4] = {{1,3,5,7},{9,11,13,15},{17,19,21,23}};
int(* p)[4], i, j, sum[3];
p = array;
for(i = 0;i < 3;i++)
{ sum[i] = 0;
for(j = 0;j < 4;j++)
sum[i] += *(*(p + i)+ j);
printf(“%d,”, sum[i]);
} }
A.80
B.164880
C.144
D.16, 48, 80
题目9
若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是()A.函数调用可以作为一个函数的实参
B.函数调用可以作为独立语句存在C.函数调用可以出现在表达式中
D.函数调用可以作为左值而被赋值
题目10
下列程序的输出结果是()#include void main()
{ char a[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', ' ' };
int i, j;
i = sizeof(a);
j = strlen(a);
printf(“%d, %dn”, i, j);}
A.9,8
B.9,9
C.1,8
D.8,9
题目11
已有定义char a[] = “xyz”, b[]={ 'x', 'y', 'z' } , 以下叙述正确的是()a.上述说法均不正确
b.数组a 的存储空间长度大于数组b 的存储空间长度
c.数组a 的存储空间长度小于数组b 的存储空间长度
d.数组a 和b 的存储空间长度相同
题目12
以下不能正确定义二维数组的选项是()
A.int a[2][] = {{1, 2}, {3, 4}};
B.int a[][2] = {1, 2, 3, 4};
C.int a[2][2] = {{1}, {2}};
D.int a[2][2] = {{1}, 2, 3};
题目13 下列叙述中错误的是()a.可以通过赋初值的方式确定数组元素个数
b.在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示
c.数组名代表数组所占存储区的首地址,其值不可变
d.对于double 类型数组,不可直接用数组名对数组进行整体输入或输出
题目14
在C语言中,对变量的访问方式是()
A.不能直接访问,能间接访问
B.直接、间接均不能
C.能直接访问,不能间接访问
D.能直接访问,也能间接访问
题目15
C语言规定,若未对函数返回类型加以说明,则函数的隐含类型为()A.void
B.double
C.char
D.int 题目16
给定下列程序,假定从键盘输入数据1、2,则执行结果为()#include
p2 = p2 + * p1;}
void main(){ int a, b, *p1;
scanf(“%d, %d”, &a, &b);
p1 = &a;
swap(p1, b);
printf(“a = %d, b = %dn”, a, b);}
A.a = 3, b = 5
B.3, 2
C.a = 3, b = 2
D.3,5
题目17
阅读下列程序段,其执行结果为()#include void main()
{ int a = 4, b = 6, c = 7;
double d;
double fun(int, int, int);
printf(“d = %lfn”, fun(a, b, c));}
double fun(int a, int b, int c){ return a % b * c;}
A.27
B.28
C.28.000000
D.27.000000
题目18
一个变量的指针就是()
A.变量的名称
B.变量的地址
C.变量的类型
D.变量的值
题目19
以下能正确定义一维数组的选项是()
A.int num[];
B.int num[0..100];
C.int N = 100;int num[N];
D.#define N 100 int num[N];
题目20
C语句: int(* pa)[5];中,pa 表示的是一个()
A.指针数组的名称
B.指向整型变量的指针
C.指向包含5个整型元素的一维数组的指针
D.指向函数的指针
第二篇:c程序设计作业
1、分析下面程序: # include
c1=97;
c2=98;
printf(“c1=%c,c2=%cn”c1,c2);
printf(“c1=%d,c2=%dn”,c1,c2);
return 0;}(1)运行时会输出什么信息?为什么?(2)如果将程序第4,5行改为
c1=197;c2=198;运行时会输出什么信息?为什么?(3)如果将程序第3行改为
int c1,c2;运行时会输出什么信息?为什么?
答:(1)程序运行不了,因为程序存在错误。正确的程序为:
#include
char c1,c2;
c1=97;
c2=98;
printf(“c1=%c,c2=%cn”,c1,c2);
printf(“c1=%d,c2=%dn”,c1,c2);
return 0;}
(2)如果将程序第4,5行改为
c1=197;c2=198;
运行时会输出:
(3)如果将程序第3行改为
int c1,c2;运行时会输出:
因为int表示整型,%c是输出字符,a的ASCLL代码是97,b的是98,所以输出c1=a,c2=b.%d是表示输出十进制整型,所以输出c1=97,c2=98
2、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何输入?
#include
int a,b;
float x,y;
char c1,c2;
scanf(“a=%db=%d”,&a,&b);
scanf(“%f%e”,&a,&y);
scanf(“%c%c”,&c1,&c2);
return 0;} 答:输入如图:
输出如图:
第三篇: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)作业三(含答案)
第三次作业答案(红字为答案)
1.下列叙述中错误的是()
A.对于double 类型数组,不可直接用数组名对数组进行整体输入或输出 B.数组名代表数组所占存储区的首地址,其值不可变 C.在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示
D.可以通过赋初值的方式确定数组元素个数 提示:请从数组下标的合法取值范围来考虑。
2.已有定义char a[] = “xyz”,b[]={‘x’, ‘y’, ‘z’},以下叙述正确的是()
A.数组a 和b 的长度相同
B.数组a 的长度小于数组b 的长度
C.数组a 的长度大于数组b 的长度
D.上述说法均不正确 提示:此题考察字符数组长度和字符串长度之间的关系。
3.以下能正确定义一维数组的选项是()
A.int num[];
B.#define N 100 int num[N] C.int num[0..100];D.int N = 100;int num[N];提示:此题考察一维数组的维数界定问题。
4.下列程序的输出结果是()#include
5.以下不能正确定义二维数组的选项是()
A.int a[2][] = {{1, 2}, {3, 4}};B.int a[][2] = {1, 2, 3, 4};C.int a[2][2] = {{1}, {2}};
D.int a[2][2] = {{1}, 2, 3};提示:此题考察二维数组初始化的规定。
6、C 语言规定,若未对函数返回类型加以说明,则函数的隐含类型为()A.void B.double
C.int
D.char 分析:教材中有答案,但我们不推荐大家在编程时省略函数返回类型。
7、若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是()A.函数调用可以作为独立语句存在 B.函数调用可以作为一个函数的实参 C.函数调用可以出现在表达式中 D.函数调用可以作为左值而被赋值
分析:基本概念题,可查书或上机验证。
8、下列说法中错误的是()
A.在不同的函数中可以使用相同名字的变量 B.函数中的形参是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数的复合语句中定义的变量只在本函数范围内有效 分析:基本概念题。考察变量的作用域和生命期。
9、下列说法中正确的是()
A.定义函数时,形参的类型说明可以放在函数体内 B.return 后面的值不能为表达式
C.如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准 D.如果形参与实参的类型不一致,则以实参类型为准 分析:基本概念题,可查书或上机验证。
10、阅读下列程序段,其执行结果为()#include
void main(){ int a = 3, x = 1;fun(a);x += a++;printf(“%dn”, x);} A.8,2 B.8,3 C.8,4D.8,5 分析:考察大家对传值调用和传址调用的理解。
11、阅读下列程序段,其执行结果为()#include
double fun(int a, int b, int c){ return a % b * c;} A.27 B.27.000000 C.28 D.28.000000
分析:可上机验证,留意一下函数声明的方式,以及输出语句中对函数返回值的处理。
12、下列说法中不正确的是()
A.C 语言规定,不能在一个函数的内部再定义函数
B.在没有声明函数返回值类型的情况下,默认函数返回值类型为int 型 C.函数的类型可以是整型、实型、字符型,但不能是指针类型 D.函数可以没有形参,但函数名后的括号不能省略 分析:基本概念题。
13、一个变量的指针就是()
A.变量的名称 B.变量的地址
C.变量的类型 D.变量的值 分析:基本概念题。
14.两个指针变量不能()
A.相加
B.相减
C.比较
D.指向同一地址 分析:基本概念题。查书或上机验证。
15.在C 语言中,对变量的访问方式是()
A.能直接访问,也能间接访问
B.能直接访问,不能间接访问 C.不能直接访问,能间接访问
D.直接、间接均不能 分析:基本概念题。
16.C 语句: int(* pa)[5];中,pa 表示的是一个()A.指针数组的名称 B.指向整型变量的指针
C.指向包含5 个整型元素的一维数组的指针 D.指向函数的指针 分析:基本概念题。
17.C 语句int * func();中,func 表示的是()A.返回值为指针的函数名称 B.指向整型变量的指针 C.指向数组的指针 D.指向函数的指针 分析:基本概念题。
18.给定下列程序,假定从键盘输入数据1、2,则执行结果为()#include
void main(){ int a, b, * p1;scanf(“%d, %d”, &a, &b);p1 = &a;swap(p1, b);printf(“a = %d, b = %dn”, a, b);} A.3,5 B.a = 3, b = 5 C.3, 2 分析:考察传值与传址的区别。
19.给定下列程序,则运行结果为()#include
20.给定下列程序,则其运行结果为()#include
D.a = 3,b = 2
D.6,4,2 { static int array[][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19 ,21, 23}};int(* p)[4], i, j, sum[3];p = array;for(i = 0;i < 3;i++){
sum[i] = 0;
for(j = 0;j < 4;j++)
sum[i] += *(*(p + i)+ j);
printf(“%d, ”, sum[i]);} } A.16, 48, 80
B.164880
C.144 D.80 分析:考察用指针变量遍历二维数组的方法。重点在理解,否则考试时不可能有机会上机验证。