C语言试题3
C语言程序设计单元测试题三

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语言试题及答案

C语言试题及答案
试题一:变量和数据类型
1.请简要解释变量在C语言中的作用。
答:变量在C语言中用于存储数据,可以通过变量名来访问和修改存储的数据。
变量的作用是方便程序处理
数据、保存中间结果,以及实现算法和逻辑。
2.C语言中的基本数据类型有哪些?
答:C语言中的基本数据类型包括整型、浮点型、
字符型和空类型(void)。
具体的基本数据类型有:char、int、float、double和void等。
试题二:运算符和表达式
1.请简要解释赋值运算符的作用。
答:赋值运算符(=)用于将右侧表达式的值赋给
左侧操作数(变量)。
它的作用是将一个值存储到一个变
量中,使得该变量可以在程序中进行后续的操作和计算。
2.C语言中的逻辑运算符有哪些?
答:C语言中的逻辑运算符有与运算(&&)、或运算(||)和非运算(!)。
逻辑运算符用于连接多个条件,判断多个条件之间的关系并返回结果。
试题三:条件语句和循环语句
1.请解释C语言中的条件语句if-else的用法,并举例说明。
答:条件语句if-else用于根据给定的条件选择不同的执行路径。
如果条件为真(非零),则执行if语句块中的代码;否则执行else语句块中的代码。
以下是一个简单的例子:
```c int num = 10;
if (num > 0) { printf(。
C语言测试题三

测试题三一、填空1、以下选项中合法的变量是()A、 5aB、_10_C、A%D、sizeof2、有以下程序main(){ int x=35, B; char z='B' ;B = (( x ) && ( z <'b' ));printf("%d\n", B ); }程序运行后的输出结果是()A、1B、0C、35D、663、有以下程序main(){ int a = 3;do{ printf("%d,", a-=2 ); }while( ! (--a) );printf("\n"); }程序运行后的输出结果是A、1B、1, -2C、3,0D、1,04、有以下程序main(){ int a[3]={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[1] );}程序运行后的输出结果是A、0B、2C、1D、35、有以下程序#include <stdio.h>#define SUB( X, Y ) (X+1)*Ymain(){ int a=3, b=4;printf("%d\n",SUB(a++ ,b++ ));}程序运行后的输出结果是A、25B、20C、12D、166、有如下程序int sum(int a, int b){return a + b - 2;}main(){int i;for (i=0; i<5; i++)printf("%d", sum(i, 3));printf("\n");}程序运行后的输出结果是A、12345B、01234C、45678D、543217、有以下函数int fun( char *s, char *t ){ while(( *s )&&( *t ) && (*t++ == *s++ ) );return (*s-*t);}函数的功能是A、比较两个字符串的大小B、求字符串的长度C、将字符串s复制到字符串t中D、连接字符串s和字符串t8、有以下程序#include <stdio.h>int m1(int x,int y){ return x<=y ? x :y; }int m2(int x,int y){ return x<=y ? y :x; }int fun(int a,int b){ return a+b; }main(){ int x=2,y=3,z=1;printf("%d\n", fun(m1(x,y),m2(y,z)));}程序的运行结果是A、3B、4C、5D、69、有以下程序#include <stdio.h>#define FNA(x) x*x#define FNB(x) x+xmain(){ int a=2,b=4;printf("%d,%d\n",FNA(FNB(a)),FNB(FNA(b)));}程序运行后的输出结果是A、8,32B、16,32C、8,16D、16,1610、有以下程序main(){ int c[6]={10,20,30,40,50,60}, *p,*s;p = c; s = &c[5];printf("%d\n", s-p ); }程序运行后的输出结果是A、6B、50C、5D、6011、有以下程序#include <stdio.h>main(){ int aa[3][3]={ {2},{4},{6} }, i, *p = &aa[0][0];for ( i=0; i<2; i++ ){ if( i == 0 ) aa[i][i+1] = *p + 1;else ++p;printf("%d ", *p );}}程序运行后的输出结果是A、2 6B、2 3C、4 3D、4 612、有以下程序int change(int* data){return (*data) ++;}main() {int data = 123;change(&data);printf("%d,", data);data = change(&data);printf("%d,", data); printf("\n");}程序运行后的输出结果是A、124,124,B、123,124,C、124,123,D、123,123,13、有以下程序void fun( int x, int y, int *z ){ *z = y-x; }main(){int a, b, c;fun(10,5,&a ); fun(7,a,&b ); fun(a,b,&c );printf("%d,%d,%d\n", a,b,c );}程序运行后的输出结果是A、-5,-12,-7B、5,2,3C、-5,-12,-17D、5,-2,-714、有以下程序#include <stdio.h>int k=5;void f(int *s){ s=&k;*s=k;}main( ){ int m=3;f(&m);printf("%d,%d\n", m, k);}程序运行后的输出结果是A、3,3B、5,5C、3,5D、5,315、有以下程序#include <stdio.h>#include <string.h>main( ){ char a[20]="ab",b[20]="cdef";int k=0;strcat(a,b);while(a[k]!='\0') { b[k]=a[k]; k++;}puts(b);}程序的运行结果是A、abcdefB、cbcdefC、cdefD、ab二、看程序写结果1、main(){int a = 0, b = 1;if (a++ && b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n", a, b);}程序运行后的输出结果是2、void fun ( int *s ){static int j=0;do s[j] += s[ j+1]; while(++j<2);}main(){int i, a[10]={1,2,3,4,5};for( i=1; i<3; i++ ) fun( a );for( i=1; i<5; i++ ) printf("%d",a[i]);printf("\n"); }3、void change(int* array, int len){for (; len>=0; len--)array[len] += 2;}main() {int i, array[5] = {1,2};change(array, 4);for (i=0; i<4; i++)printf("%d,", array[i]);printf("\n");}4、void fun( int *s, int n1, int n2 ){int i,j,t;i=n1; j=n2;while( i<j ){ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;i++; j--;}}main(){int a[10] = { 1,2,3,4,5,6,7,8,9,0} ,i, *p = a;fun( p,0,3 ); fun( p,4,9 ); fun( p,0,9 );for( i=0; i<10; i++ )printf("%d ", *( a+i ) );printf("\n" );}程序运行后的输出结果是5、main(){char *s="120119110";int n0,n1,n2,nn,i;n0=n1=n2=nn=i=0;do{switch(s[i++]){ default : nn++;case '0' : n0++;case '1' : n1++;case '2' : n2++;}} while(s[i]);printf("n0=%d,n1=%d,n2=%d,nn=%d\n",n0,n1,n2,nn);} 程序的运行结果是6、void f(int x[], int n){ if ( n > 1){ printf("%d,", x[0]);f(&x[1], n-1);printf("%d,", x[0]);}elseprintf("%d,", x[0]);}main( ){ int z[3] = {4, 5, 6};f(z, 3);printf("\n"); }程序运行后的输出结果是三、填空1、以下程序的功能是:通过调用calc函数,把所求得的两数之和值放入变量add 中,并在主函数中输出。
《C语言程序设计》试题3及答案

三一.单项选择题?1.设int x=1,y=1;表达式(!x++ || y--)的值是_________??? A.0???? B. 1?????? C. 2???? D.-12.main( )? {? int n;???? ( n=6*4,n+6),n*2;???? printf(“n=%d\n”,n);? }?? 此程序的输出结果是______________.?? A.30??? B.? 24???? C.? 60????? D.? 483.若有如下定义,则__________是对数组元素的正确的引用。
?? int? a[10] , *p ;?? p=a ;?? p=a ;?? p=a ;?? p=a ;?? A.? *&a[10]???? B.? a[11]????? C.? *(p+10)????? D. *p4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________ ?? A.? 0???? B.? 4??? C.? - 4???? D.? 2???? 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}}; 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;7.下列程序段的输出结果是???? ??????。
void main(){?? int k;for (k=1;k<5;k++〉{ ?if(k%2!=0)??printf("#");else ??printf(“*”) ;? } }A. #*#*????? B . *#*#??? C.? ##?????? D. 以上都不对8.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是? (35)??? 。
7-8-C语言上机考试试题3

C语言上机考试试题-3一、选择题(评分标准 20 分,每小题2分)1. 以下选项中可作为C语言合法常量的是________。
(A) -80. ( B) -080 (C) (D)2. 以下叙述中正确的是________。
(A) 用C程序实现的算法必须要有输入和输出操作(B) 用C程序实现的算法可以没有输出但必须要输入(C) 用C程序实现的算法可以没有输入但必须要有输出(D) 用C程序实现的算法可以既没有输入也没有输出3. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是________。
(A) 数组a和b的长度相同 (B) a数组长度小于b数组长度(C) a数组长度大于b数组长度 (D) 上述说法都不对4. 以下叙述中错误的是________。
(A) 数组名代表的是数组所占存储区的首地址,其值不可改变。
(B) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。
(C) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
(D) 可以通过赋初值的方式确定数组元素的个数。
5. 以下叙述中正确的是________。
(A) 预处理命令行必须位于源文件的开头(B) 在源文件的一行上可以有多条预处理命令(C) 宏名必须用大写字母表示(D) 宏替换不占用程序的运行时间6. 表达式strlen(”hello”) 的值是________。
(A)4 (B)5 (C)6 (D)77. 设变量定义为“int a, b;”,执行语句scanf(“a=%d, b=%d”,&a, &b);时,输入________,则a和b的值都是10。
(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=108. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是_______。
C语言试题3

C语言试题3一、选择题(每小题2分,共40分)1.下列属于整型常量的是________。
A.12B.12.0C.-12.0D.10E102.下列是字符串常量的是:()A.'HolleWorld'B."15"C.VC D.'m'3.下列表达式为关系表达式的为_________。
(其中a为一整型变量)A.3+4*5 B.a==10 C.a>0?a:-a D.a=14.下列对一维数组的声明正确的是:()A.int a(10);B.int n=10,a[n];C.int n;scanf(“%d”,&n);int a[n];D.#define SIZE10int a[SIZE];5.根据C语言的语法规则,下列________个是不合法用户标识符。
A.int B.array C.string1 D._exam6.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为。
A.float B char C int D double7.已知int x=5,y=6,z=7;以下语句执行后x,y,z的值是。
if(x>y)z=x;x=y;y=z;A)x=5,y=6,z=7B)x=6,y=7z=7C)x=6,y=5,z=5D)x=6,y=7,z=68.执行int a=8;a+=a*a;语句后,a的值是______。
A.24 B.64 C.72 D.5129.C语言用()表示逻辑“真”的值。
A.true B.t或y C.非零数D.整型值010.两个指针变量的值相等时,表明两个指针变量是________________。
A.占据同一内存单元。
B.指向同一内存单元地址或者都为空。
C.是两个空指针。
D.都没有指向。
11.字符串指针变量中存入的是________________。
A.字符串的首地址B.字符串C.第一个字符D.字符串变量。
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语言(数组)一、选择题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]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 ).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.数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每小题2分,共40分)
1.下列属于整型常量的是________。
A.12
B.12.0
C.-12.0
D.10E10
2.下列是字符串常量的是:()
A.'HolleWorld'B."15"C.VC D.'m'
3.下列表达式为关系表达式的为_________。
(其中a为一整型变量)
A.3+4*5 B.a==10 C.a>0?a:-a D.a=1
4.下列对一维数组的声明正确的是:()
A.int a(10);B.int n=10,a[n];
C.int n;scanf(“%d”,&n);int a[n];D.#define SIZE10int a[SIZE];
5.根据C语言的语法规则,下列________个是不合法用户标识符。
A.int B.array C.string1 D._exam
6.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为。
A.float B char C int D double
7.已知int x=5,y=6,z=7;以下语句执行后x,y,z的值是。
if(x>y)z=x;x=y;y=z;
A)x=5,y=6,z=7B)x=6,y=7z=7
C)x=6,y=5,z=5D)x=6,y=7,z=6
8.执行int a=8;a+=a*a;语句后,a的值是______。
A.24 B.64 C.72 D.512
9.C语言用()表示逻辑“真”的值。
A.true B.t或y C.非零数D.整型值0
10.两个指针变量的值相等时,表明两个指针变量是________________。
A.占据同一内存单元。
B.指向同一内存单元地址或者都为空。
C.是两个空指针。
D.都没有指向。
11.字符串指针变量中存入的是________________。
A.字符串的首地址 B.字符串C.第一个字符 D.字符串变量。
12.C语言中,定义PI为一个符号常量,正确的是______
A.#Define PI3.14 B.#define PI3.14
C.#define PI=3.14
D.Include PI3.14
13.为表示关系x≥y≥z,应使用C语言表达式
A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z)
C.(x>=y>=z) D.(x>=z)&(y>=z)
14.执行语句:for(i=1;i<4;i++){;}后,变量i的值是。
A)3B)4C)5D)不定
15.对以下说明语句的正确理解是_________。
int a[10]={3,4,5,6,7};
A)将5个初值依次赋给a[1]至a[5]
B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10]
D)因为数组长度与初值的个数不相同,所以此语句不正确
16.C语言规定,函数返回值的类型是由__________。
A)return语句中的表达式类型决定
B)调用该函数时的主调函数决定
C)调用该函数时系统临时决定
D)在定义该函数
时所定义的函数类型决定
17.若有int a[5],*p=a;定义,则对a[3]元素赋值15的正确表达式是___。
A.&a[3]=15 B.*(p+3)=15 C.a(3)=15 D.*p=15
18.下列程序段while循环的次数是()。
int i=0;
while(i=1)i++;
A.0次B.1次C.2次D.无限次
19.按升序对a[]={23,45,71,65,1}排序,第一次冒泡排序结束时,()将冒到顶部。
A.23B.45C.1D.71
20.下面的程序
main()
{int x=3;
do{printf(“%d\n”,x-=2);}while(!--x));}
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
二、补全程序题(每空3分,共24分)
1.下列程序段是从键盘输入两个整型数,输出其中
大者(较小者)。
main()
{int a,b;
Scanf("%d%d",&a,&b);
if(【a>b】)
printf("max=%d",a);
else
printf("max=%d",【b】);}
一、选择题(每小题2分,共40分)
1~5:ABBDA6~10:DBCCB11~15:ABACB16~20:DBDCB
二、补全程序题(每空3分,共24分)
1.a>b b
一、填空题(每空1分,共20分)
1.C源程序的基本单位是【函数】。
2.在一个C源程序中,注释用的分界符是【//】或【/**/】。
3.结构化程序设计的基本结构是【顺序】、【分支】、【循环】。
4.一元二次方程ax2+bx+c=0的判别式的C语言表达式为【b*b-4*a*c】。
5.已知:char a='a',b='b',c='c',i;(已知a的ASCII码值为97)则表达式i=a+b+c的值为【294】。
6.C语言中,指针运算符有【&】和【*】两个。
7.C语言提供三种逻辑运算符,按优先级高低它们分别是【!】、【&&】和【||】。
8.C语言三个循环语句分别是【do while】语句,【while】语句和【for】语句。
9.若有定义:double x[3][5],则x数组中行下标的下限为【0】,列下标的上限为【】4,此数组共有【15】个元素。
1.函数
2.//;/**/
3.顺序;分支(条件);循环
4.b*b-4*a*c
5.294
6.&;*
7.!;&&;||
8.while;do while;for
9.0;4;15
10.strcopy(s1,s2);
一、填空题(每空1分,共30分)
1.C语言程序的开发流程大致是:【编辑】à【编译】à【链接】à【运行】。
2.在VC++环境中,C源程序的扩展名是【。
cpp】,目标文件与【源程序】同名、扩展名为.obj。
3.C语言程序的结构包括三部分:【注释】、【预处理指令】和【函数定义】。
4.变量的二要素是【变量值】和【变量名】。
5.在C语言中,标识符只能由【字母】、【数字】和【下划线】组成,且首字符必须是【字母和下划线】。
6.一个C源程序至少应该包含一个【main函数】。
7.梯形的面积公式的C语言表达式为【0.5*(a+b)*h】。
8.C语言中,指针运算符有【&】和【*】两个。
9.复合语句是用一对【{}】界定的语句块。
10.在C语言中,标准输入操作的库函数是由【scanf()】完成的,标准输出操作的库函数是由【printf()】完成的。
一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:【#include<stdio.h>】。
11.C语言提供三种逻辑运算符,按优先级高低它们分别是【!】、【&&】和【||】。
12.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式【(y%4==0&&y%100!=0)||(y%400==0)】。
13.在C语言中,二维数组的元素在内存中的存放顺序是【从上到下,从左到右】。
14.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为【0】,a[2][1]的值为【6】。
1.编辑;编译;链接;运行
2..cpp;源程序
3.注释;预处理命令;函数定义
4.变量名;变量值
5.字母;数字;下划线;字母或下划线
6.main函数
7.0.5*(a+b)*h
8.&;*
9.{}
10.scanf();printf();#include<stdio.h>
11.!;&&;||
12.(y%4==0&&y%100!=0)||(y%400==0)
13.从上到下,从左到右
14.0;6。