C语言选择题(三)

合集下载

C语言程序设计习题集3

C语言程序设计习题集3
if(substr [【8】k+1]==’\0’)
{ num++ ; break ; }
return (num);
}
4下面函数的功能就是用递归法将一个整数存放到一个字符数组中,存放时按逆序存放,如483存放成“384”,请填空使程序完整。
void convert(char *a, int n)
{ int i;
A*pxBaCpxD&a
9若指针px为空指针,则_B__。。
A px指向不定B px的值为零C px的目标为零D px的地址为零
10对下语句int *px[10];,下面正确的说法就是_B__。
A px就是一个指针,指向一个数组,数组的元素就是整数型。
B px就是一个数组,其数组的每一个元素就是指向整数的指针。
A语句有错误B z值为68 Cz值为60 D z值为180
4以下程序运行后的输出结果就是_A__。
#define F(X,Y)(X)*(Y)
main()
{int a=3,b=4;
printf("%d\n",F(a++,b++));
}
A 12B15C16D 20
5以下程序运行后的输出结果就是_C__。
{int a[5]={2,4,6,8,10}, *p;
p=a; p++;
printf("%d", *p);
}
4以下程序的输出结果就是__55__。
#defineM5
#defineNM+M
main()
{int k;
k=N*N*5; printf("%d\n",k);

C语言程序设计单元测试题三【精品-doc】

C语言程序设计单元测试题三【精品-doc】

C语言程序设计_单元测试题三本单元包含“数组、函数”的内容。

一、选择题1.以下为一维整型数组a的正确说明是_________.A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10;scanf("%d",&n); int a[SIZE];int a[n];2.以下对二维数组a的正确说明是________.A)int a[3][]; B)float a(3,4);C)double a[1][4] D)float a(3)(4);3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______.(假设a[0][0]位于数组的第一个位置上。

)A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+14.若二维数组a有m列,则在a[i][j]前的元素个数为________.A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+15.25.若有以下程序段:int a[]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;}... ...则该程序段的功能是_________.A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序)6.有两个字符数组a、b,则以下正确的输入语句是_______.A)gets(a,B); B)scanf("%s%s",a,B);C)scanf("%s%s",&a,&B); D)gets("a"),gets("b");7.下面程序段的运行结果是_________.char a[7]="abcdef";</P< p>char b[4]="ABC";strcpy(a,B);printf("%c",a[5]);A)空格B)\0 C)e D)f8.判断字符串s1是否大于字符串s2,应当使用_______.A)if(s1>s2) B)if(strcmp(s1,s2))C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0)9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空。

C语言作业及答案3

C语言作业及答案3

)。
A)char
B) void
C)float
D)int
8、设有说明 int (* prt)[M]; 其中的标识符 prt 是(
)。
A)M 个指向整型变量的指针
B)指向 M 个整型变量的函数指针
C)一个指向具有 M 个整型元素的一维数组的指针
D)具有 M 个指针元素的一维指针数组,每个元素都只能指向整型变量
)。
4、C 程序以函数为单位进行编译(
)。
5、由多个源文件组成一个程序时,主函数只能出现在一个源文件中(
)。
6、从变量的作用域角度来分,可以分为静态变量和动态变量(
)。
7、如果一个字符数组中包含一个以上结束符’\0’,则遇最后一个’\0’时输出才结束(
)。
8、gets( )函数的作用是从终端输入一个字符串到字符数组,并且将’\0’也装入该数组(
9、已知函数说明语句:void *fx( );则它的含义是(
)。
A)函数 fx 的返回值是一个空类型的指针
B)函数 fx 的返回值可以是任意的数据类型
C)函数 fx 无返回值
D)指针 fx 指向一个函数,该函数无返回值
10、对于下述定义,不正确的叙述是(
)。
union data
{ int i;
char c;
C)9,9
D)10,10
4、以下叙述正确的是()。
A)可以把 define 和 if 定义为用户标识符
B)可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符
C)可以把 if 定义为用户标识符,但不能把 define 定义为用户标识符
D)define 和 if 都不能定义为用户标识符

c语言习题

c语言习题

C语言阶段测试三一、单项选择题1、有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}int (*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是( A )。

A)*((*ptr+1)[2])B)*(*(p+5))C)(*ptr+1)+2 D)*(*(a+1)+2)2、# include <stdio.h> Dvoid main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A)9 B)12 C)14 D)153、设有说明语句:char a= '\123abc';则变量a ( A )A) 包含7个字符 B) 包含6个字符C) 包含5个字符D) 包含4个字符4、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是( C )A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次5、下面四个选项中,均是合法转义字符的选项是_C___。

a. '\''b. '\'c. '\018'd. '\\0''\\' '\017' '\f' '101'\n' '\"' 'xab' 'xlf'6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是____。

a. 016b. oabcc. 010d. 0a120x8f 017 -0x11 7ff018 0x8 0x16 -1237、设int x;则执行printf(″%x\n″,~x^x);的结果是( )A.0B.1C.ffD.ffff8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( A )A.9,19B.9,20C.10,19D.10,209、对于while语句,错误的说法是(B )A.用条件控制循环体的执行次数B.循环体至少要执行一次C.循环体有可能一次也不执行D.循环体中可以包含若干条语句10、执行下列语句int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf(″%d,%d,%d\n″,a,b,c);后输出的结果是( A )A.6,7,7B.6,7,8C.8,7,6D.8,7,811、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( A )A.x数组的长度等于y数组的长度B.x数组的长度大于y数组的长度C.x数组的长度少于y数组的长度D.x数组与y数组的存储区域相同12、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);的输出结果是( C )A.147B.159C.357D.36913、设int b[ ]={1,2,3,4},y,*p=b;则执行语句y=*p++;之后,变量y的值为( A )A.1B.2C.3D.414、假设int型变量占两个字节的存储单元,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数为____D__。

c语言课外作业3

c语言课外作业3

第5、6、7章函数、编译预处理、数组练习题一、选择题1.以下正确的说法是_______。

A.用户若需调用标准库函数,调用前必须重新定义。

B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义。

C.系统根本不允许用户重新定义标准库函数。

D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,由系统自动去调用。

2.以下正确的函数形式是_______。

A.double fun( int x , int y ){z = x + y ;return z ;}B.fun( int x , y ){int z ;return z ;}C.fun( x , y ){int x , y ; double z ;z = x + y ;return z ; }D.double fun( int x , int y ){double z ;z = x + y ;return z ;}3.如果一个函数没有返回值,那么该函数的类型是_______。

A.int B.char C.float D.void 4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_______。

A.int B.char C.float D.void 5.以下说法不正确的是_______。

A.实参可以是常量、变量或表达式B.形参可以是常量、变量或表达式C.形参可以为任意类型D.形参应与其对应的实参类型一致6.一个函数形参的作用域是_______。

A.main函数B.形参所在函数体C.从定义处到文件尾D.整个程序7.以下关于形参和实参的说明中,错误的是_____。

A.实参和形参占用不同的内存单元,即使同名也相互不影响B.实参在进行函数调用时,它们都必须有确定的值,以便把这些值传给形参C.实参对形参的数据传送是双向的,可以把实参的值传给形参,也可以把形参的值反向传给实参D.形参变量只有在被调用时才分配内存单元8.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_______。

国家二级C语言程序设计机试(选择题)模拟试卷3

国家二级C语言程序设计机试(选择题)模拟试卷3

国家二级C语言程序设计机试(选择题)模拟试卷3(总分:80.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。

(分数:2.00)A.循环队列B.带链队列C.二叉树√D.带链栈解析:解析:线性结构的特点:①有且只有一个根结点;②每一个结点最多有一个前驱,也最多有一个后继。

不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继结点,属于非线性结构。

2.算法的空间复杂度是指( )。

(分数:2.00)A.算法在执行过程中所需要的计算机存储空间√B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为A。

3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。

(分数:2.00)A.循环队列B.栈√C.队列D.二叉树解析:解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,因此本题答案为B。

4.软件设计中划分模块的一个准则是( )。

(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合√C.低内聚、高耦合D.高内聚、高耦合解析:解析:一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为B。

5.结构化程序的三种基本控制结构是( )。

(分数:2.00)A.顺序、选择和重复(循环) √B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环),故正确答案为A。

6.软件需求规格说明书在软件开发中的作用不包括( )。

(分数:2.00)A.软件设计的依据B.软件可行性分析的依据√C.软件验收的依据D.用户和开发人员对软件要做什么的共同理解解析:解析:需求分析就是分析软件用户的需求是什么,描述需求的文档称为软件需求规格说明书。

C语言程序设计习题3

C语言程序设计习题3

习题3一、单项选择题1. 若a为二维数组,则a[1][3]等价于()。

A. *((a+1)+3)B. *(a[1]+3)C. (*(a+1)+3)D. &a[1]+32. 以下程序()。

A. 有语法错误不能通过编译B. 可以通过编译但不能通过连接C. 输出***D. 输出$$$void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");else printf("$$$\n");}3. 在一个源文件中定义的全局变量的作用域为()。

A. 本文件的全部范围B. 本程序的全部范围C. 本函数的全部范围D. 从定义该变量的位置开始至本文件结束二、填空题1. 执行下列语句后,b的十进制值是_______。

int x=240,y=15,b;char z='A';b=(( x && y ) && ( z < 'a' ));2. 执行下列语句的结果是_______。

a=3;printf("%d,",++a);printf("%d",a++);3. 静态变量和外部变量的初始化是在_______阶段完成的,而自动变量的赋值是在_______时进行的。

4. 在C语言中,格式输入操作是由库函数在C语言中,格式输入操作是由库函数_______完成的,格式输出操作是由库函数_______完成的。

5. int x=2,y=3,z=4; 则表达式!(x+y)>z的值为_______。

6. 在C语言中的实型变量分为两种类型,它们是_______型和_______型。

三、判断题1. for语句可以完全取代while语句。

()2.函数的递归调用不过是一个函数直接地调用它自身。

()3.定义在main函数后的任何函数都需在main中进行函数声明。

C语言练习题及答案解析三

C语言练习题及答案解析三

C语言练习题及答案解析三(共3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、单项选择题1.下面不属于C语言的数据类型是【】。

A) 整型 B) 实型 C) 逻辑型 D) 双精度实型分析:和其它高级语言相比,C语言中没有逻辑型数据,也没有逻辑型变量。

本题正确答案为C。

语言中,下列属于构造类型的是【】。

A) 整型 B) 实型 C) 指针类型 D) 结构体类型分析:C语言中构造类型的数据有三种:数组、结构体和共用体,数组是同类型数据的集合,结构体是不同类型的数据集合。

本题正确答案为D。

3.下列字符串不符合标识符规定的是【】。

A) SUM B) sum C) 3cd D) end分析:标识符规定只能由26个英文字母(大小写均可),数字0~9和下划线组成,且不能以数字开头,题中的3cd不符合规定。

本题正确答案为C。

4.下面能正确表示八进制数的是【】。

A) 0x16 B) 029 C) -114 D) 033分析:选项A)以0x开头是十六进制数,选项B)虽然是0开头,但出现了数字9,选项C)是十进制数。

本题正确答案为D。

5.下面四个选项中,均是合法实数的选项是【】。

A) B) C) D)-e5分析:实数有两种表示形式:小数形式和指数形式,小数形式必须有小数点,指数形式中,字母e之前必须有数字,e之后必须是整数。

选项A)中的"",选项C)中的"",选项D)中的"-e5"均是不合法的。

本题正确答案为B。

语言中,字符型数据在内存中存储形式是【】。

A) 原码 B) 反码 C) 补码 D) ASCII码分析:C语言中int型数据是以补码形式存放的,字符型数据是以ASCII码形式存放的。

本题正确答案为D。

7.下列正确的字符型常量是【】。

A) "a" B) ′\\\\′ C) "\\r" D) 277分析:字符常量的定义是用单引号括起来的一个字符,A和C的定界符不对,D超过了char型数据的表示范围,′\\\\′是转义字符。

专升本C语言试卷3

专升本C语言试卷3
21. 以下程序的输出结果是 (D) union myun { struct { int x, y, z; } u; int k; } a; main() { a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(%d\n”,a.u.x); } A) 4 B) 5 C) 6 D) 0
19. 以下程序的输出结果是(B) main() { char st[20]= “hello\0\t\\\”; printf(%d %d \n”,strlen(st),sizeof(st)); } A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 以下程序的输出结果是 (D) main() { int a, b; for(a=1, b=1; a<=100; a++) { if(b>=10) break; if (b%3= =1) { b+=3; continue; } } printf(“%d\n”,a); } A) 101 B) 6 C) 5 D) 4
28.有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0;i<3;i++)
{ printf("%d",m[k][i]); }
}
执行后输出结果是:(C)
A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9
29.有以下程序
D)structtt[2]={{1,"A",62.5},{2, "B",75.0}};
27. 若变量 c 为 char 类型,则能正确判断出 c 为小写字母的表达式是( D )。

c语言第三、四章(习题册答案)

c语言第三、四章(习题册答案)

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C 语言浮点型常量是(C)。

A. 160.B. 0.12C. 2e4.2D. 0.02、以下选项中,(D)是不正确的C 语言字符型常量。

A. 'a'B. '\x41'C. '\101'D. "a"3、在C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。

A. 原码B. 反码C. ASCII 码D. BCD码4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。

x=(i=4,j=16,k=32)A. 4B. 16C.32D.525、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。

A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算6、表达式!x||a==b 等效于(D)。

A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)7、设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是(B)。

A. 0,0B. 0,1C. 1,0D. 1,18、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a 的值是(B)。

A. 3B. 0C. 9D. -129、在以下一组运算符中,优先级最低的运算符是(D)。

A. *B. !=C. +D. =10、设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是(B)。

A. 6B. 12C. 15D. 表达式出错11、若已定义x 和y为double 类型,则表达式x=1,y=x+3/2 的值是(C)。

A. 1B. 2C. 2.0D. 2.512、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为(D)。

C语言程序设计形考任务3

C语言程序设计形考任务3

一、选择题(共30分,每小题2分)题目1在下面的函数声明语句中,存在着语法错误的是()。

选择一项:a. AA(int a, int b)b. AA(int, int)c. AA(int a; int b)d. AA(int a, int)正确答案是:AA(int a; int b)题目2在下面的保留字中,不能作为函数的返回值类型的是()。

选择一项:a. voidb. intc. enumd. long正确答案是:enum题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。

选择一项:a. 1b. 2c. 4d. 8正确答案是:4题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。

选择一项:a. a[i]b. *a++c. *ad. *(a+1)正确答案是:*a++题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是()。

选择一项:a. int *p=calloc(10,2);b. int *p=calloc(10);c. int *p=calloc(10,4);d. int *p=malloc(10)正确答案是:int *p=calloc(10,4);题目6假定变量m定义为“int m=7;”,则下面正确的语句为()。

选择一项:a. int p=&m;b. int *p=&m;c. int &p=*m;d. int *p=m;正确答案是:int *p=&m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为()。

选择一项:a. double p=&k;b. int *p=&k;c. double &p=*k;d. char *p="Thank you!";正确答案是:char *p="Thank you!";题目8若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为()。

C语言考试三

C语言考试三

6、数组一.选择题1.若有语句int a[8];则下述对a 的描述正确的是()。

(A)定义了一个名称为a的一维整型数组,共有8个元素(B)定义了一个数组a,数组a共有9个元素(C)说明数组a的第8个元素为整型变量(D)以上可选答案都不对2.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

(A)整型常量(B)整型表达式(C)整型常量或整型表达式(D)任何类型的表达式3.下述对C语言字符数组的描述正确的是()。

(A)任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占用存储空间(B)一维数组的元素在引用时其下标大小没有限制(C)任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间(D)一维数组的第一个元素是其下标为1的元素4.下述对C语言字符数组的描述中正确的是()。

(A)任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量(B)一维数组的元素实质上就是一个变量,代表内存中的一个存储单元(C)如果要引用数组中的每一个元素,则直接使用该数组名称即可(D)以上都不对5.以下对一维整型数组a的正确说明是()。

(A)int a(10); (B)int n=10,a[n]; (C) int n; (D) #define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];6.以下能对一维数组a进行正确初始化的语句是()(A)int a[10]=(0,0,0,0,0);(B)int a[10]={};(C)int a[]={0};(D)int a[10]=(10*1);7.若有说明:int a[3][4];则对a数组元素的正确引用是()(A)a[2][4] (B)a[1,3] (C)a[1+1][0] (D)a(2)(1)8.以下能对二维数组a进行正确初始化的语句是()(A)int a[2][]={{1,0,1},{5,2,3}};(B)int a[][3]={{1,2,3},{4,5,6}};(C)int a[2][4]={{1,2,3},{4,5},{6}};(D)int a[][3]={{1,0,1}{},{1,1}};9.若有说明:int a[3][4]={0};则下面正确的叙述是()(A)只有元素a[0][0]可得到初值0(B)此说明语句不正确(C)数组a中各元素都可得到初值,但其值不一定为0(D)数组a中每个元素均可得到初值010.以下各组选项中,均能正确定义二维实型数组a的选项是()(A)float a[3][4]; float a[][4]; float a[3][]={{1},{0}};(B)float a(3,4); float a[3][4]; float a[][]={{0};{0}};(C)float a[3][4]; static float a[][4]={{0},{0}};(D)float a[3][4]; float a[3][];11.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()(假设a[0][0]位于数组的第一个位置上。

C语言程序设计--自测题(三)

C语言程序设计--自测题(三)
C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
26、以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号"{"和"}"只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
r=fun(fun(x,y),2*z);
printf("%d/n",r);
}
程序运行后的输出结果是______。
A、3
B、6
C、8
D、12
32、有以下程序段
main()
{ int a=5,*b,**c;
c=&amp;b; b=&amp;a;
&hellip;&hellip;
A、if (c&lt;a) x=1;
else if (b&lt;a) x=2;
else x=3;
B、if (a&lt;3) x=3;
else if (a&lt;2) x=2;
else x=1;
C、if (a&lt;3) x=3;
if (a&lt;2) x=2;
if (a&lt;1) x=1;
30、以下选项中可作为C语言合法整数的是______。
A、10110B
B、0386
C、0Xffa
D、x2a2
31、有以下程序
fun(int a, int b)
{ if(a&gt;b) return(a);

C语言习题 (3)

C语言习题 (3)
三.程序阅读题
1.用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’,问在键盘上如何输入?
void main ( )
{ int a,b;
float x,y;
char c1,c2;
scanf(“a=%d b=%d”,&a,&b);
C)10 20 AB↙ D)10 20AB↙
10.执行下列程序片段时输出结果是( )。
int x=5,y;
y=2+(x+=x++,x+8,++x);
printf(“%d”,y);
A)13 B)14 C)15 D)16
习题三
一.选择题
1.C语言的程序一行写不下时,可以( )。
A)用逗号换行 B)用分号换行
C)在任意一空格处换行 D)用回车符换行
2.putchar ( )函数可以向终端输出一个。
A)整型变量表达式值 B)实型变量值
scanf(“ %f %e”,&x,&y);
scanf(“ %c %c”,&c1,&c2);
}
2.写出以下程序的输出结果。
main ( )
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
void main ( )
{ int a,b;
scanf(“%2d%2d%3d”,&a,&b);
printf(“%d\n”,a+b);
}

C语言期末考试试卷及答案3

C语言期末考试试卷及答案3

一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。

C语言3数组练习题3

C语言3数组练习题3

第三章数组一、选择题1.合法的数组定义是A.int a[ ]=”string”; B.int a[5]={0,1,2,3,4,5};C.char a=”string”; D.char a[ ]={0,1,2,3,4,5};2.若有定义和语句:char s[10]; s=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)A.输出abcd B.输出aC.输出abcd u u u u u D.编译不通过3.数组a[2][2]的元素排列次序是A.a[0][0],a[0][1],a[1][0],a[1][1] B.a[0][0],a[1][0],a[0][1],a[1][1]C.a[1][1],a[1][2],a[2][1],a[2][2] D.a[1][1],a[2][1],a[1][2],a[2][2]4.有以下语句,则下面是正确的描述static char x [ ]=“12345”;static char y[ ]={…1‟,…2‟,…3‟,…4‟,…5‟};A.x数组和y数组的长度相同。

B.x数组长度大于y数组长度。

C.x数组长度小于y数组长度D.x数组等价于y数组。

5.列不能正确进行字符串赋值操作的语句是A.char str[10];gets(str); B.char*str;str=“a”;C.char*str;str=…a‟;D.charstr[10];strcpy(str,“hello”);6.若数组的长度为n,则该数组中的元素最多有n个。

若[3][5]是一个二维数组,则最多可使用的元素个数为A.8 B.10 C.15 D.57.若有说明:int a[3][4]; 则对a数组元素的非法引用是A.a['B'-'A'][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 8.设有语句static char str[10]={“china”};printf(“%d”,strlen(str)); 则输出结果是A.10 B.5C.china D.69.表达式strlen(“string”)+strlen(“C”)的运算结果为A.9 B.10 C.7D.810.执行以下程序段后,s的值为。

C语言试卷选择题及答案

C语言试卷选择题及答案

C)signed
enum
typedef
union
include
continue
scanf
肯定不考,没意思!
94
315

D)if struct type
11
A
. 根据下面程序及数据的输入和输出形式,程序中输入语句的正确形式应该为

#include <stdio.h>
int main()
{
char ch1,ch2,ch3; 输入语句 printf("%c%c%c",ch1,ch2,ch3); return 1; } 输入形式:A□B□C 输出形式:A□B A)scanf("%c%c%c",&ch1,&ch2,&ch3); B)scanf("%c,%c,%c",&ch1,&ch2,&ch3); C)scanf("%c %c %c",&ch1,&ch2,&ch3); D)scanf("%c%c",&ch1,&ch2,&ch3); 对比输出,太简单了
A)1020AB<CR>
B)10□20<CR>AB<CR>
C)10□□20□□AB<CR> D)10□20AB<CR>
想想,数字间不空格会造成输入的是 1020,而 char 只管一个字符,没事!
108
315
13
D
. 以下程序的输出结果是

printf("\n*s1=%15s*","chinabeijing");

计算机二级c语言题库(3)(4)

计算机二级c语言题库(3)(4)

习题三一、选择题1.printf()函数输出实数时,使用的格式字符是(C)。

A.%d B.%c C.%f D.%o2.下面变量说明中(C)是正确的。

A.char:a ,b ,c; B.char a;b;c;C.char a , b , c; D.char a,b ,c3.putchar()函数可以向终端输出一个(D )。

A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值4.阅读以下程序,当输入数据的形式为:25,13,10〈CR〉,正确的输出结果为( D )。

main(){ int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值5.以下说法正确的是( D )。

A. 输入项可以是一个实型常量B. 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D. 当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.以下能正确地定义整型变量a、b和c并为其赋初值5的语句是(C )。

A.int a=b=c=5; B.int a,b,c=5;C.int a=5,b=5,c=5; D.a=b=c=5;7.已知ch是字符型变量,下面正确的赋值语句是(B )。

A.ch='a+b'; B.ch='\xff'; C.ch='\08';D.ch="\";8.设x、y均为float型变量,则以下不合法的赋值语句是( B )。

C语言程序设计模拟试卷及答案(3)

C语言程序设计模拟试卷及答案(3)

自考C语言程序设计模拟试卷及答案(3)一、单项选择题1B 2B 3D 4C 5D 6C 7A8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21CB 1. 设int x=1,y=1;表达式(!x++ || y-—)的值是____B_____A.0 B。

1 C。

2 D.-1C 2.main(B){ int n;( n=6*4,n+6),n*2;printf(“n=%d\n",n);}此程序的输出结果是______C________。

A。

30 B。

24 C. 60 D. 48D 3.若有如下定义,则_____D_____是对数组元素的正确的引用。

int a[10], *p ;p=a ; p=a ; p=a ; p=a ;A。

*&a[10] B. a[11] C. *(p+10) D. *pC 4。

设整型变量n的值为2,执行语句“n+=n—=n*n;”后,n的值是__________A. 0 B。

4 C。

— 4 D。

2D 5.以下不能正确定义二维数组的语句是___________A 。

int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};C。

int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};C D 6. 程序段的功能是将变量 u 、s中的最大值赋给变量t 。

A。

if(u>s) t=u;t=s; B。

t=u; if(t ) t=s;C. if(u>s) t=s;else t=u; D 。

t=s; if(u ) t=u;A 7.下列程序段的输出结果是。

void main(){ int k;for (k=1;k<5;k++〉{ if(k%2!=0)printf(“#”);elseprintf(“*"); }}A。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七、八、九章选择题
1.C语言中的函数[1]
[1] A.嵌套定义和嵌套调用均可 B.可以嵌套定义但不可以嵌套调用
C.嵌套调用和递归调用均可 D.可以嵌套调用但不可以递归调用
2.C语言中函数返回值的类型是由[2]决定的
[2] A. return语句中的表达式类型 B.调用函数时临时指定
C.定义函数时所指定的函数类型 D.对被调用函数声明时指定
3.下列调用函数的说法中不正确的是[3]
[3] A.主调函数和被调函数可以不在同一文件中
B.实际参数和形式参数可以同名
C.若用值传递方式,则形式参数不予分配内存
D.函数间传递数据可使用全局变量
E.函数调用时,若形、实参数均为数组名,则其传递方式是地址传递方式
4.若用数组名作为函数调用时的实参,则实际上传递给形参的是[4]
[4] A.数组中全部元素的值 B.数组的第一个元素的值
C.数组的首地址 D.数组元素的个数
5.void作为函数的参数时,表示[5]
[5] A.该函数无返回值 B.实参可为任意值
C.函数无参数 D.该函数可返回任意值
6.下面对typedef 不正确的叙述是[6]
[6] A.用typedef 可以定义各种类型名,但不能定义变量
B.使用typedef 有利于程序的通用和移植
C.用typedef可以增加新类型
D.用typedef 只是将已存在的类型用一个新的标识符表示
7.使用共用体union的目的是[7]
[7] A.将一组相同数据类型的数据作为一个整体,以便程序中使用
B.将一组相同数据类型的数据作为一个整体,以便其中的成员共享同一存储空间 C.以便其中的成员共享同一存储空间
D.将一组相关数据作为一个整体,以便程序中使用
8.下列数据类型中不属于构造类型的是[8]
[8]A.数组型 B.结构型 C.枚举型 D.共用型
9.在C语言中,[9]类型变量的所有成员以覆盖方式共享存储单元
[9]A.数组型 B.结构型 C.共用型 D.枚举型
10.若程序中含有定义: struct abc { int x;int y;}
struct abc s1,s2;则[10]
[10] A.能编译、链接、运行 B.能编译、链接,但不能运行
C.编译时出错 D.能编译、但链接出错
11.C语言中,对于存储类型为[11]的变量,只有在使用它们时才占用存储单元
[11] A. static 和auto B.register 和 extern
C. auto 和register D.register 和 static
12.对数组a的正确定义为[12]
[12] A. int a(10); B. int n=10, a[n];
C. #define SIZE 10 D. int n;scanf(”%d” ,&n);
int a[SIZE]; int a[n];
13.计算平方数时不可能引起二义性的宏定义是[13]
[13] A. #define SQR(x) x*x B. #define SQR(x) (x)*(x)
C. #define SQR(x) ( (x)*(x) ) D.#define SQR(x) (x*x)
14.下面程序的输出结果是[14]
#define MA(x) x*(x-1)
main( )
{int a=1,b=2,j;j=1+a+b;printf(”%d,%d\n”,MA(1+a+b),MA(j));}
[14]A. 8,8 B. 12,12 C. 8,12 D.无答案
15.下面程序的输出结果是[15]
#include <stdio.h> main( )
int x,y ; { int a=9,b=5;
f( ) x=a+b;y=a-b;
{ int y,a=25,b=10; f( );
x=a+b;y=a-b;printf(”%d,%d\n”,x,y);} return;}
[15]A. 14,4 B. 35,15 C. 35,4 D.14,15
16.下面程序的输出结果是[16]
int x=1; main()
f( ) { int i;
{static int i=2;int x=10; for( i=1;i<4;i++){++x;f();}
x+= ++i ;printf(”%d,”,x);} printf(”%d\n”,x);}
[16]A.13,17,22,4 B.13,14,15,15 C.13,14,15,4 D.无答案
17.下面程序的输出结果是[17]
void sub1 (int * x, int y,int z) main ( )
{ * x = y – z;} { int a=0, b=0;
void sub2 (int x, int y,int z) sub1( &a, 10,3 );sub2( b, 10,3 );
{ x = y – z;} printf( ”%d,%d\n” ,a,b) } [17]A. 7,7 B. 0,7 C. 7,0 D. 0,0
18.若有定义和语句:char *a,b[5 ] ;a=(char *)malloc(80) ;则正确的是[18]
[18] A.scanf( ”%s” ,*a); B.b=a; C.a= ”good”; D.b= ”good”;
19.下面程序的输出结果是[19]
#include <stdio.h> main( )
ss(char *s) { char *a=”abcde”;int i;
{ char *p=s; i=ss(a);
while(*p)p++;printf(”%d\n” ,i);
return (p-s);} }
[19] A. 7 B. 6 C. 5 D. 8
20.若有定义: struct st { char name[20];int age;
char sex;}a[30] ,*p=a;则[20]是错误的语句[20] A.scanf( ”%s”,p[0] .name); B.scanf( ”%d”,&p[0] .age);
C.scanf( ”%d”, &(*p.age) ); D.scanf( ”%c”,&p->sex);21.能定义s为合法的结构体变量的是[21]
[21]A. typedef struct abc B. struct abc
{ double a;char b[10];}s; { double a;char b[10];};
abc s;
C. typedef struct D. typedef abc
{ double a;char b[10];}abc; { double a;char b[10];};
abc s; abc s;
22.若有定义:enum weekday{mon,tue,wed,thu,fri} workday;
则[22]是不正确的语句
[22] A.workday=(enum weekday) 3; B.workday=(enum weekday) (4-2);
C.workday= 3; D.workday=thu;
23.下面程序输出结果为[23]
main( )
{union tt{ long k;int i[6];char c[4];}r;
printf(“%d,%d\n”,sizeof(r),sizeof(union tt));}
[23]A. 4,4 B. 6,6 C. 12,12 D.无答案
24.下面程序输出结果为[24]
void f1 ( int i ) ; void f1 ( int i )
void f2 ( int i ) ;{ printf ( ”%c” , s [ i ] );
char s[ ]= ”hello,friend!”; if (i<4){i+=1;f2(i);}
main ( ) void f2 ( int i ) { f1 (0 ) ;} { printf ( ”%c” , s [ i ] );[24] A.hello B.he C. heo D.无答案 if (i<2){i+=3;f2(i);} 25.得到文件位置指针的当前位置的函数是[25]
[25]A. rewind B. fseek C. ftell D. fgetc
26.存储int类型数据–7856时,在二进制文件和文本文件中占用的字节数分别是[26]
[26]A. 5,5 B. 5,2 C. 2,5 D. 2,2
27.以读 / 写方式打开一个已存在的二进制文件且使位置指针移到文件末尾,应选择
的使用方式是[27]
[27]A.”a+” B.”wb+” C.”ab+” D.”rb+”。

相关文档
最新文档