C语言练习题3

合集下载

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语言练习3(数组)=参考答案

C语言练习3(数组)=参考答案

C语言(数组)一、选择题1. 设有程序:main(){ int i,a[11];printf("给数组赋值:\n");for (i=0;i<=10;i++)scanf("%d",( ));... ...printf("输出数组:\n");for(i=0;i<=10;i++)printf("%d,",( ));}则在程序中的两个园括号中分别应填入:CA) &a[i]和&a[i]B) a[i]和&a[i]C) &a[i]和a[i]D) a[i]和a[i]2. 设已定义:int a[15]; 则数组a占用的内存单元数是( C ).A) 15 B) 16 C) 30 D) 323. 阅读程序:main(){ int a[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++) a[j]=a[i]+1;printf("%d\n",a[k]);}以上程序的输出结果是( D ).A) 1 B) 3 C) 2 D) 不确定的值4. 阅读程序:f(int b[],int n){ int i,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}以上程序的输出结果是( D ).A) 720 B) 6 C)24 D) 1205. 以下定义语句中,错误的是( B ).A) int a[ ] = {6,7,8};B) int n=5, a[n];C) char a[ ]= "string";D) char a[5 ]={'0','1','2','3','4'};6. 以下描述中正确的是( D ).A) 数组名后面的常量表达式用一对圆括弧括起来B) 数组下标从1开始C) 数组下标的数据类型可以是整型或实型D) 数组名的规定与变量名相同7. 若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};指出以下错误语句( AB ).A) scanf("%c",a[0]);B) scanf("%s",&a);C) printf("%c",a[3]);D) printf("%s",a);8.若定义数组int a[10] ,其最后一个数组元素为( C ).A) a[0]B) a[1]C) a[9]D) a[10]9. 若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( B )?A) a[8] 的值为0B) a[1] 的值为1C) a[3] 的值为4D) a[9] 的值为010. 指出以下错误语句( A ).A) int n=10,a[n];B) int n,a[10];C) int a[10]={1,2,3};D) int a[10]={1,2,3,4,5,6,7,8,9,10};11. 请读程序:main(){int n[2],i,j,k;for(i=0;i<2;i++) n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++) n[j]=n[i]+1;printf("%d\n",n[k]);}上面程序的输出结果是( A ).A)不确定的值 B)3 C)2 D)112. 若有以下的定义和语句:int str[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='e',则数值为2的表达式是( C ).A)str['g'-c] B)str[2] C)str['d'-'c'] D)str['d'-c]13. 设有数组定义:int a[5];则下列给数组元素赋值错误的是( B ).A) a[3]=93;B) scanf("%c",a[3]);C) a[3]=getchar();D) a[3]='a'+3;14. 以下数组定义中错误的是( D ).A) #define N 30int a[N+30];B) #define N 30int a[N];C) int a[30];D) int a[N];15. 在定义一个一维数组时,不能用来表示数组长度的是( D ).A)常量 B)符号常量 C)常量表达式 D) 已被赋值的变量16. 若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a在内存中所占的字节数是( D ).A)12 B)20 C)40 D)8017. 设已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素x[1][1]的正确初值是( A ).A) 6 B) 5 C) 7 D) 118. 设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为( C ).A) 2 B) 4 C) 6 D) 819. 设有:int a[4][5]; 则数组a占用的内存字节数是( C ).A) 12 B) 24 C) 40 D) 2020. 以下数组定义中,不正确的是( B ).A) int b[3][4];B) int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}};C) int b[200][100]={0};D) int c[ ][3]={{1,2,3},{4,5,6}};21. 定义数组:int x[2][3]; 则数组x 的维数是( 2 ).A) 1 B) 2 C) 3 D) 622. 若定义数组并初始化int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立( C )?A) 表达式b[1][2]的值为1B) 表达式b[1][2]的值为4C) 表达式b[1][2]的值为6D) 表达式b[1][2]的值为223. 若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}};for(i=0;i<2;i++)for(j=0;j<3;j++)printf("%d",a[i][j]);语句的结果是哪一个( C )?A) 1,2,3,4,5,6B) 1 2 3 4 5 6C) 12345624. 若定义数组并初始化int a[2][3]= {{1,2, 3},{4,5,6}};以下语句哪一个不成立( B )?A) a数组中有6个元素B) a[2][3]是a数组的最后一个元素的引用C) a数组中每个元素都为整数D) a数组是整型数组25. 定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( C ).for(i=0;i<3;i++) printf("%d",x[i][2-i]);A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 926. 如有以下定义:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};则数值为2的元素是( C ).A) s[1][3] B) s[0][3] C) s[0][2] D) s[1][2]27. 以下程序的输出结果是( A ).main(){int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d",s);}A) 18 B) 19 C) 20 D) 2128. 若已有char b[10][50];则该二维字符数组在内存所占字节数为( D ).A) 10 B)50 C)60 D)50029. 设有:char a[10]; 下列语句那个是正确的( D )?A) scanf("%s",a[0]);B) scanf("%s",&a);C) printf("%s",a[0])D) printf("%s",a)30. 阅读程序:main(){ char a[10];int i;for(i=1;i<=5;i++)scanf("%c",&a[i]);printf("%c",a[0]);}设从键盘输入字符串:abcde,则程序的输出结果是( C ).A) a B)空格 C)不确定D)031. 合法的数组定义是( D ).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'};32. 设有数组定义:char string[ ]="China";则数组string所占的空间为( B ).A) 5个字节B) 6个字节C) 7个字节D) 10个字节33. 定义字符数组c:char c[ ]={"c language"};数组c在内存中所占字节数是( C ).A) 9 B) 10 C) 11 D) 1234. 指出以下错误语句( C ).A) char a[10]={'0','1','2','3','4','5','6','7','8','9'};B) char a[10]={'0','1 ','2','3'};C) char a[2]= {"1","2"};D) char a[2]= {'a’,'b’};35. 若定义数组并初始化char a[10]={"hello"},该数组的元素个数是( A ).A) 10B) 5C) 6D) 736. 若定义数组并初始化char a[10]={"HELLO"},该数组的元素中 a[2]是( A ).A) 'L'B) 'E'C) 'H'D) 'O'37. 若定义数组并初始化int b[10]={ 1,2,3,4},以下哪几个语句成立( A C D)?A)b[8]的值为0B)b[1]的值为1C)b[3]的值为整数D)b[10]不是b数组中的元素38. 若定义数组int a[10];指出下列错误语句:ABCDA) a数组共有10个元素,其引用方法是:a[1],a[2]...a[10];B) a数组是整型数组,其元素自动初始化为0;C) a数组最后一个元素的引用方法是a[10];D) a数组第一个元素的引用方法是a[1];二、判断题1.数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。

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章  练习题

一、单项选择题题目1若x的值为15,则执行“if(x>10) x++; else x--;”语句后,x的值为()。

a. 14b. 15c. 10d. 16题目2若x的值为-10,则执行“if(!x) x++; else x--;”语句后,x的值为()。

a. -9b. -11c. -10d. 0题目3若x的值为10,则执行“switch(x%3){case0: x++; case 1:x++; case 2: x++;}”语句后,x的值为()。

a. 13b. 12c. 11d. 10题目4若x的值为10,则执行“switc h(x%3){case0: x++; break; case 1:x++; default: x++;}”语句后,x的值为()。

a. 9b. 10c. 11d. 12题目5若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i=1共被执行的次数为()。

a. nb. n+1c. 1 B. n-1 C.n-1d. 1题目6若n的值为10,则执行“for(i=0;; i++) if(i>n/3) break;”语句后,i的值为()。

a. 3b. 6c. 4d. 5题目7若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i++共被执行的次数为()。

a. n+1b. nc. 1d. n-1题目8若n的值为10,则执行“for(i=0;i<n; i++) for(j=i; j<n; j++) S;”语句后,内层循环体S语句的执行总次数为()。

a. n(n-1)/2b. (n+1)/2c. n*nd. n(n+1)/2题目9若n的值为10,则执行“while(n-->0)s+=n;”语句的过程中,循环体被执行的次数为()。

a. 8b. 10c. 11d. 9题目10若n的值为5,s的值为0,则执行“while(n-->0) s+=n;”语句后,s的值为()。

3试题 c语言试题以及答案

3试题 c语言试题以及答案

参考答案:错


第5题:在标准C中,“=”是判断两个数是否相等。
参考答案:错


第6题:在标准C语言中,指针函数参数传递是单向传递,且传递的是变量的地址
参考答案:对


第7题:EOF能够被识别为常量
参考答案:对


第8题:对于定义int *p赋初值;则初值是赋给P变量的。
参考答案:对


第9题:C语言中数据的存储结构是指数据的逻辑结构在内存中的表示
参考答案:对
第2题:下面程序的输出结果是:
#include<stdio.h>
int func( int a, int b)
{
int c;
c=a+b;
return c;
}
main()
{
int x=6, y=7, z=8, r;
r=func(x--+y--,z--);
A、for (;;x+=i);
B、while (1) x++
C、for (i=10;;i--) sum+=i;
D、for (;(c=getchar())!='\n';) printf("%c",c);
第10题:字符串指针变量中存入的是
参考答案:A
A、字符串的首地址
B、字符串
C、第一个字符
D、字符串变量
--------------------------------------------------------------------------------

C语言习题级答案3

C语言习题级答案3

测试题31、C语言中不合法的字符常量就是 CA、’\65’B、’\xff’C、’\028’D、’&’2、具有相同类型的指针变量p与数组a,不能进行的操作就是(C)。

A、p=&a[0];B、p=a;C、p=&a;D、*p=a[0];3、若有x=22,y=26,z=0;,则执行下面语句后,z的输出结果就是(B ) z=x>y?x:yA、72B、26C、48D、224、对于建立函数的目的,正确的说法就是 DA、提高程序的执行效率B、减少程序的篇幅C、减少程序文件所占的内存D、提高程序的可读性5、有定义:char*p1,*p2;则下列表达式中正确合理的就是 CA、p1/=5B、p1+=5C、p1=&p2D、p1*=p26、以下程序的运行结果就是(B)。

main(){int i=1,sum=0;while(i<10) sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A、i=10,sum=9B、运行出现错误C、i=2,sum=17、若变量已正确定义且 k 的值就是 4,计算表达式 ( j =4, k--) 后,j与k的值为(C)A、j=4, k=4B、j=3, k=3C、j=4, k=3D、j=3, k=48、给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为(A)A、数组x的长度大于数组y的长度B、数组x与数组y等价C、数组x与数组y的长度相同D、数组x的长度小于数组y的长度9、在下述程序中,判断i > j共执行了多少次 C#include <stdio、h>main(){int i = 0, j = 10, k = 2, s = 0;for( ; ; ){i += k;if(i > j){printf(“%d\n”, s);break;}s += i;}}A、4B、8C、6D、710、下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的就是(D)。

C语言-第3章 最简单的C程序设计 练习题

第3章最简单的C程序设计—顺序程序设计一、单项选择题1. 不是C语言提供的合法关键字是。

A)switch B)cher C)case D)default2. C语言提供的合法关键字是。

A)next B)string C)do case D)struct3. 下列不属于C语言中关键字的是。

A) long B) print C)default D)typedef4. 下列不正确的标识符是。

A) -a1 B) a[i] C)a2_i D)x5. 下列C语言用户标识符中合法的是。

A)*y B)sum C)int D)%5f6. 下面四个选项中,合法的标识符是。

A)auto B)define C)6a D)c7.下列C语言用户标识符中合法的是。

A)3ax B)x C)case D)-e28. 以下选项中合法的用户标识符是。

A) long B) _2Test C) 3Dmax D) A.dat9.下列四组选项中,正确的C语言标识符是。

A)%x B)a+b C)a123 D)12310. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123-abc DOWORD sum Case sizeof11. 下列四组字符串中都可以用作C语言程序中的标识符的是。

A)print _3d oodb aBc B)I\am one_half start$it 3paiC)str_1 Cpp pow while D)Pxq My->book line# His.age12. 下列C语言标识符中合法的变量名是。

A)2e3 B)you C)*y D)float1-12题解析:参照讲义中知识点--标识符与关键字,13. C语言中的简单数据类型包括。

A)整型、实型、逻辑型B)整型、实型、逻辑型、字符型C)整型、字符型、逻辑型D)整型、实型、字符型13题解析:C语言中没有逻辑型变量14.下列可以正确表示字符型常量的是。

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章练习题--运算符、表达式、输入输出1. 下面四个选项中,均是不合法的标识符的选项是(C)A)A, P_0, doB)float, 1a0, _AC)b-a, goto, intD)_123, temp, INT2. c语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(C)A)必须为字母;B)必须为下划线;C)必须为字母或下划线;D)可以是字母、数字和下划线中任一种字符.3. 已知字母A的ASCII码为十进制的65,下面程序的输出是(A)main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A)67, D B)B, C C)C, D D)不确定的值4. 假设所有变量均为整型,则表达式(B)(a=2, b=5,b++,a+b) 的值是A)7 B)8 C)6 D)25. 设以下变量均为int类型,则值不等于7的表达式是,CA) (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)6. 若有说明语句:char c=‘\72’;则变量c(A)A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定7. 若以下变量均是整型,且num = sum =7;则计算表达式.Bsum=num++,sum++,++num 后sum的值为(B)A)7 B)8 C)9 D)108. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x十a%3*(int)(x十y)%2 /4的值是(A)A) 2.500000 B) 2.750000 C) 3.500000 D)0.0000009、下面不正确的字符串常量是(A)A)'abc' B)"1212" C)"0" D)" "10、数字字符0的ASCII值为48,若有以下程序(A) void main(){ char a='1',b='2';b = b + 1;printf("%c,",b);printf("%d\n", b-a);}程序运行后的输出结果是(A)A)3,2 B)50,2 C)2,2 D)2,5011、在C语言中,要求运算数必须是int型的运算符是 DA. /B. ++C.!=D. %12、设有如下程序段:int x=2002, y=2003;printf("%d\n",(x,y));则以下叙述中正确的是(D)A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运行时产生出错信息C) 输出值为2002D) 输出值为200313、有如下程序void main(){ int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}运行该程序的输出结果是DA) 3 4 B) 4 2 C) 4 3 D) 3 314 下列程序的输出结果是Cvoid main(){ double d=3.2; int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2 C) 0 D) 3.0715、假定x和y为double型,则表达式x=2,y=x+3/2的值是DA) 3.500000 B) 3 C) 2.000000 D)3.00000016、若有以下程序段,Aint c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0 B) 0.5 C) 1 D) 217、已知字母A的ASCII编码为10进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为___A___。

C语言练习题3

一、语言基础选择题1.C语言程序的基本单位是 CA) 程序行 B) 语句 C) 函数 D) 字符2. 以下说法中正确的是 CA) C语言程序总是从第一个的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分3.一个C语言程序的上机步骤是 AA) 编辑,编译,连接,执行 B) 编译C) 编辑,连接,执行 D) 连接,编译,执行4. 已知有定义:char ch;则如下正确的赋值为 AA) ch=‘M’; B) ch=’55’; C) ch="M"; D) ch="55";5.在Turbo C环境中,查看程序运行结果的快捷键是 DA) F5 B) Ctrl+F9 C) F8 D) Alt+F56.下列变量名中合法的是 CA) B.C.Tom B) 3a6b C) _ba7b D) $ABC7. C语言中,要求运算数必须是整型的运算符是 DA) / B)+ + C)!= D)%8. 已知 int j,i=1;则执行j=-i++; i和j的值为 BA)1,-1 B)2,-1 C)1,1 D)2,19.在C语言中,数字029是一个 AA)八进制数 B)十六进制数 C)十进制数 D)非法数10.C语言中用于结构化程序设计的三种基本结构是__A___A)顺序结构、选择结构、循环结构 B)if、switch、breakC)for、while、do-while D)if、for、continue11.如下程序运行后的输出结果是__B__main( ){int x=1,a=0,b=0;switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n",a,b);}A)a=1,b=1 B)a=2,b=1 C)a=1,b=0 D)a=2,b=2 12.若i为整型变量,则以下循环执行次数是_C__for(i=2;i==0;)printf(“%d”,i--);A)无限次 B)0次 C)1次 D)2次13.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是_D__ A)3 B)0 C)9 D)-1214.有输入语句:scanf("a=%d,b=%d",&a,&b),为使变量a值为3,b值为7,从键盘输入数据的正确形式是_A__A)a=3,b=7<回车> B)a=3 b=7<回车> C)3 7<回车> D)3,7<回车>15.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是_D__#include <stdio.h>main(){char c1='A', c2='Y';printf("%d,%d\n",c1,c2);}A) 因输出格式不合法,输出错误信息 B)65,90C)A,Y D)65,8916.如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为__D__A)ture B)false C)0 D)117.以下关于break和continue语句的说明正确的是_C___A) break用于switch结构,continue用于循环结构。

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

一. 选择题(每小题2分,共30分)
1.下列属于C语言构造类型的是______。

A)整型 B)实型 C)字符型 D)数组
2.设字符变量ch的值为`B`,则函数putchar(ch+32)的字符输出是
A)B B)66 C)b D)98
3.不属于C基本逻辑运算的是______。

A)+ B)& C)|| D)非
4. 若有以下定义,则正确的赋值语句是______。

int a,b; fiot x;
A)a=1,b=2 B)b++ C)a=b=5 D)b=int(X);
5. 若定义float a=12.576;char*ch=CHINA;则语句
printf(%7.4S,%10.2f\n,ch,a);的输出是
A)CHINA,12.58 B)CHIN,12.58
C)CHIN,12. D)CHIN,12.57
6. 与表达式a+b>c+d等价的表达式是______。

A)a+(b>c)+d B)((a+b)>c)+d
C)(a+b)>(c+d) D)a+((b>c)+d
7. 在switch语句中的表达式的值应该是______。

A)实型的 B)指针型的
C)整型或字符型的 D)逻辑型的
8. for(I=1;I<=100;I++,I++)sum=sum+I;相当于______。

A)for(I=1;I<=100;I=I+2)sum=sum=I
B)for(I=1;I<=100;I=I+1)sum=sum+I
C)for(I=1;I<=100;I++) sum=sum-I
D)for(I=1;I<=100;=I) sum=sum+I
9、不合法的一维数组初始化语句是______。

A)stactic int a[3]={0,1,2}; B)static int a[ ]={0,1,2};
C)exten int a[3][0,1,2] D)int a[3]={0,1,2};
10、合法的定义二维数组的语句为______。

A)float a[3][5]; B)float a[3;5];
C)float a[3][ ] D)float a(3;5);
11、数组名作为函数的实参时,传递给形参数组的是______。

A)实参数组元素的值 B)实参数组的维数
C)实参数组的首址 D)实参数组的类型
12.C程序中,各函数的定义应该______。

A)互相独立 B)有从属关系 C)可以不独立 D)在main函数中
13.设char st,*sp;则合法的表达式是______。

A)st="good!" B)*sp=st C)*sp="good!" D)st=sp
14.若已定义: char a[10]; 则在下面表达式中不表示a[1]的地址的是______。

A)a+1 B)a++ C)&a[0]+1 D)&a[1]
15.操作系统管理数据的单位是______。

A)双字 B)字 C)字节 D)文件
二.填空题(每小题3分,共30分)
1.以下程序输入两个整数值给X,Y,然后交换X,Y的值交换后输出X,Y的值。

请填空。

#include <stdio.h>
main( )
{ int x, y, 【】
scanf(“%d,%d”,&x, &y)
【】; 【】 ; 【】;
printf(“x=%d,y=%d\n”,x,y) ;
}
2.以下程序段要求从键盘输入字符,输入字符为Y时,循环停止。

请填空:
while(【】 != … Y ‟) ;
3.若y,x是int型变量,则下面程序段执行后y的值【】。

y=2;x=2; y=(x=2*5,**2),*8;y+=y;
4.以下程序以每行输出8个数据的形式输出a数组,请填空:#include <stdio.h>
main( )
{ int a[50],I ;
for (I=0;I<50;I++) scanf( “%d”, 【】) ;
for (I=0;I<50;I++)
{ if (【】) 【】
printf(“%3d”,a[i]) ;
}
printf(“\n”);
}
5.以下功能是输出字符串,请填空:
main( )
{ char *a[ ]={“pascal”,”c language ”,”dbase”,”cobol”};
char【】 ;
int j=0;
p=a;
for ( ; j<4; j++)
printf( “%s\n”,* 【】) ;
}
6.以下程序是完成求分段函数Y(X)的值,请填空:
1 1 (X>0)
Y(X)= 0 (X=0)
-1 (X<0)
# include <stdio.h>
main( )
{ int x,y;
scanf( “%d”,&x)
if 【】 y=1;
else if 【】 y=0;
【】 y=-1;
}
7.若有以下说明和定义,且数组w和变量k已经正确赋值,则对数
【】。

【】,
组w中的第k个元素正确的引用是:【】,
struct aa
{ int b;
char c;
double d;};
struct aa w[10] ;
int k ;
8. 若有定义: int a[ ]={1,3,5,7,9,10}, *p=a; 则*(p+1)的值是【】,
*(a+5)的值是【】。

9.以下程序判断输入一个整数是否能被3或7整除,若能整除,输出‘YES’,若不能,输出‘NO’。

请填空。

# include <stdio.h>
main( )
{int k ;
scanf (“%d”,&k);
if 【】 printf (“YES\n”)
else printf(“NO\n”)
}
10.以下程序使用顺序排序法给数组a[10]中的元素排序(从小到大),假设数组已赋值,请填空:
int I, j, 【】 ;
for(【】)
for(【】)
if a[i] >a[j]
{ t=a[i] ;
a[i]=a[j];
a[j]=t;
}
三. 写出程序的运行结果(每小题3分,共15分)
1.以下程序的运行结果是_______。

main()
{ int a=5, b=15;
printf(“%d\n”,b=b/a);
}
2.以下程序的运行结果是_______。

main()
{ int a=12, b=-3;
printf(“%d%d”, ++a, b--);
}
3.以下程序的运行结果是_______。

main()
static char a[]=”I am a student”
int *p;
p=a;
printf(“%s\n” p)
4.main()
{
float a,b,s,l;
scanf("%f,%f",&a,&b);
s=a*b;
l=(a+b)*2;
printf("a=%7.2f,b=%7.2f,s=%7.2f,l=%7.2f\n", a,b,s,l); }
运行时输入:3,4
运行结果为: _______________。

5.以下程序的运行结果是_______。

main()
{
static struct stud
{
char name[20];
char sex;
}st[3]={{"WangHai",'M'},{"LiMing",,'M'},{"XuMei",'F'}}; int i;
for(i=0;i<3;i+=)
if(st[i].sex=='M')
printf("%s,%c\n",st[i].name,st[i].sex);
}
四.编程题(25分)(第1小题必做,10分;第2、3小题任选1题,15分,共25分)
1.编写程序.用递归法计算n!。

2.编写程序,在主函数中调用一自己定义的函数,完成计算字符串
长度.函数参数要用指针参数。

3.有一3x3矩阵,编写函数求该矩阵的转置。

相关文档
最新文档