C语言阶段测验1)

合集下载

C语言第1阶段15章自测题

C语言第1阶段15章自测题

至诚学院《C语言程序设计》第1阶段测试题2012 —2013 学年第二学期测试日期:2013 年3月18 日一、选择题(每小题2分,共40分)1.以下叙述中正确的是()。

A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行C)C是近英语的自然语言和数学语言为语言的表达形式 D)C语言出现最晚,具有其他语言的一切优点2.以下叙述中不正确的是()。

A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数C)函数是C程序的基本组成单位 D)分号是C语句之间的分隔符,不是语句的一部分3.算法具有五个特性,以下不属于算法特性的是()。

A)有穷性 B)简洁性 C)可行性 D)确定性4.以下()组中的标识符都是合法的用户标识符。

A)3ab,A_10,st B)class,λ1,grade C)printf,INT,char1 D)b3,a,unsigned5.C语言中的基本数据类型包括()。

A)整型、实型(浮点型)、逻辑型 B)整型、实型(浮点型)、字符型C)整型、字符型、逻辑型 D)字符型、实型(浮点型)、逻辑型6.以下选项中,均是合法整型常量的选项是()。

A)123,Oxffff,0123 B)Oxabc,018,0x123 C)Ola,123, 012,Oxef D)Ox22b,3e5,0167.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为()。

A)6.0 B)6 C)0.0 D)无答案8.若有定义和语句:int s,p;s=p=5;p=s++;则执行语句后 p的值是()。

A)0 B)5 C)7 D)69.以下选项中,与k=n++完全等价的表达式(即执行后k,n及表达式的值完全相同)是()。

A) k=n, n=n+l B)n=n+1,k=n C)k=++n D)k+=n+110.以下程序的输出结果是()。

#include <stdio.h>void main(){int a=20,b=10;printf("%d,%%d\n",a+b,a-b);}A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确11.下列程序的运行结果是()。

C语言习题(1)

C语言习题(1)

C语言概述、数据类型运算符表达式、顺序结构一、选择题1.下列叙述中,正确的是。

A.C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严谨,要求一行内只能写一个语句C. C程序的书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2.下列选项中,可作为合法标识符的是。

A.1mB. DataC. str+1D. i-1 3.设变量已正确定义并赋值,以下合法的C语言赋值语句是。

A.x=y==5B. x=n%2.5C. x+n=iD. x=5=4+1 4.设有定义:int k=0;以下选项的4个表达式中与其他3个表达式的值不相同的是。

A.k++B. k+=1C. ++kD. k+1 5.若有定义:int a,b;则用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是。

A.,B. 空格C. 回车D. Tab键6.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是。

A.任何不同数据类型都不可以通用B. 有些不同类型的变量可以在同一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义7.下列常数中不能作为C语言的常量的是。

A.0Xa6B. 3.4e-3C. 3e5D. 0683 8.下面不是C语句的是。

A.int;B. ;C. a=1,b=5D. {;} 9.设x、y、z为整型变量,若从键盘给x、y、z输入数据,则正确的输入语句是。

A.scanf(“%d%d%d”,&a,&b,&c);B. scanf(“%d%d%d”,a,b,c);C.scanf(“%D%D%D”,&a,&b,&c);D. scanf(“%d%d%d”,&a;&b;&c); 10.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是。

C语言程序设计_第一阶段练习

C语言程序设计_第一阶段练习

考试科目:《C语言程序设计》第章至第章(总分100分)一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

)1.已知,-k为1玳型变量,若从键盘输入:1,2,3<回车〉,使i的值为1、j的值为2、 k的值为3,以下选项中正确的输入语句是()。

(2分)A. scanf("%2d%2d%2d”,&i,&j,&k);B. scanf(“%d %d %d”,&i,&j,&k);C. scanf("%d,%d,%d”,&i,&j,&k);D. scanf("i=%d,j=%d,k=%d”,&i,&j,&k);2.下列判断char类型变量C1是为数字的最简单且正确的表达式()。

(2分)A. '0'<=C1<='9'B. (C1>='0')&&(C1<='9')C. (C1>=0)&&(C1<=9)D. ('0'<=C1)&&('9'<=C1)3.以下选项中,与k=n++完全等价的表达式是()。

(2分)A. k=n,n=n+1B. n=n+1,k=nC. k=++nD. k+=n+14.设a和b均为必此卜型变量,且a=5.5、b=2.5,则表达式(int) a+b/b的值是()。

(2 分)A. 6.500000B. 6C. 5.500000D. 6.0000005.字符串" \\\' abcd\123\xAB\t” 的长度为()。

(2 分)A. 8B. 17C. 9D. 106.已知。

是字符型变量,以下不正确的赋值语句是()。

(2 分)A. c=”a”B. c=’a'C. c='\141’D. c=’\x61’+37.下面的for循环最多可执行()次。

C语言第一阶段考试题(40份)

C语言第一阶段考试题(40份)

一、选择题(每题2分,共计64分)1.C语言规定,必须用作为主函数名。

A)Function B)include C)main D)stdio2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。

A)过程B) 主函数C)函数D)include3. C语言规定: 在一个源程序中, main函数的位置。

A) 必须在最开始B) 必须在系统调用的库函数的后面C) 可以在任意位置D) 必须在源文件的最后4.在C 语言中,下列类型属于基本类型的是。

A)整型、实型、字符型B)空类型、枚举型C)结构体类型、实型D)数组类型、实型5.下列字符串属于标识符的是。

A)INT B)5_student C)2ong D)!DF6.下列字符串不属于标识符的是。

A)sum B)average C).day_night D)M.D.JOHN7.C语言中能用来表示整常数的进制是。

A)十进制、八进制、十六进制B)十二进制、十进制C)六进制、八进制D)二进制、十进制8.在C语言中,回车换行符是。

A)\n B)\t C)\v D)\b9.在C语言中,退格符是。

A)\n B)\t C)\v D)\b10.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码。

A)大32 B)大64 C)小32 D)小6411.设d为字符变量,下列表达式不正确的是。

A)d=97 B)d=’a’C)d=”a”D)d=’g’12.10+’a’+1.5-567.345/’b’的结果是型数据。

A)long B)double C)int D)unsigned float13.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值和i的值为。

A)12,6 B)12,5 C)18,6 D)15,514.如果int i=3,int j=4,则k=i+++j执行之后k,i和j的值分别为。

A)7,3,4 B)8,3,5 C)7,4,4 D)8,4,515.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。

C语言阶段性测试

C语言阶段性测试

C语言阶段性测试(笔试部分)考试时间:1.5小时1 选择题(每题2分,共30分)1.1对于类型相同的指针变量,下面哪种运算不能进行()A、+B、-C、=D、= =1.2说明语句int (*p)( ) ; 的含义是()A、p是一个指向一维数组的指针变量B、p是指针变量,指向一个整型变量C、P是一个指向函数的指针,该函数的返回值是一个整数D、以上都不对1.3 如下联合体定义,执行temp . I=266 , temp . ch 的值为()union u_type{int I ;char ch ;} temp ;A、266B、256C、10D、11.4 break关键字在哪一种语法结构中不能使用?()A、for语句B、switch语句C、if语句D、while语句1.5 已知char b[5],*p=b;则正确的赋值语句是()A、b=”abcde ”B、*b=”abcde”C、p=”abcde”D、*p=”abcde”1.6下面程序的循环次数是()int k = 1;while (k < 10){If (k < 1)break;if (k == 5)break;k++;}A、5B、6C、4D、死循环,不能确定循环次数1.7以下叙述正确的是()A、do---while语句构成的循环不能用其他语句构成的循环来代替。

B、do---while语句构成的循环只能用break语句退出。

C、用do---while语句构成的循环,在while后的表达式为假时结束循环。

D、用do---while语句构成的循环,在while后的表达式为真时结束循环。

1.8下面有关for循环的正确描述是()A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体。

D、for循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。

1.9若有以下定义,则值为3的表达式是()int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;A、p+=2;*(p++);B、p+=2;* ++p;C、p+=3;*p++;D、p+=2;++*p;1.10以下程序段,对数组的错误引用是()int a[12]={0},*p[3],**pp,i;for(i=0;i<3;i++){p[i]=&a[i*4];}pp = p;A、pp[0][1]B、a[10]C、p[3][1]D、*(*(p+2)+2)1.11有以下程序段,以下叙述中正确的是()typedef struct NODE{int num;struct NODE *next;} OLD;A、以上的说明形式非法B、NODE是一个结构体类型C、OLD是一个结构体类型D、OLD是一个结构体变量1.12 若有以下说明和定义,以下叙述正确的是()typedef int *INTEGER;INTEGER p,*q;A、P是int型变量B、p是基类型为int的指针变量C、q是基类型为int的指针变量D、程序中可用INTEGER代替int类型名1.13若有说明:int i, j=7, *p= &i;,则与i=j;等价的语句是()A、i=*pB、*p=*&jC、i = &j D i=**p;1.14 32位机,以下程序运行的结果是()#include “stdio.h”int main(){struct node{int a;char bint c ;};printf(“%d\n”, sizeof(date));}A、6B、8C、10D、121.15 若有以下说明和语句,则以下对结构体变量std中成员age 的引用方式不正确的是()struct student{int age;int num;} std, *p;P = &std ;A、std.ageB、p -> ageC、(*p) .ageD、*p.age2填空题(25分)2.1 sizeof、strlen值计算(每空1分)char str[] = “Hello” ;char **p = str ;int n = 10;sizeof (str ) =();sizeof ( p ) =();sizeof ( n ) =();strlen(str)=();void Func ( char str[100]){sizeof( str ) =();}2.2假设在32位机上,如下结构体(每空1分)struct BBB{long num;char *name;short int data;char ha;short ba[5];}*p;p=0x1000000;p+0x200=();(long)p+0x200=();(char*)p+0x200=();2.3设有以下语句,填空(每空1分)int a[3][2]={1,2,3,4,5,6};int (*p)[2];p = a;则*(*(p+1)+1)的值是(),*(p+2)是元素()的地址。

计算机语言(C)第1阶段测试题

计算机语言(C)第1阶段测试题

第一阶段测试卷考试科目:《计算机语言(C)》第1章至第6章(总分100分)时间:90分钟学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一、选择题(每题2分,共30分)1.C语言程序由( C )组成。

A. 子程序B.过程C.函数D.主程序与子程序2.当a的值为5,b的值为4时,逻辑表达式a<=6&&a+b>8的值为( C )。

A. trueB. falseC.非0整数值D.整数值03. 下面四个选项中,均是不合法的用户标识符的选项是( D )。

A. _AB. HARC. b_aD. 1_23P1 c3 INT doC_2 a2 er1 int4.在c语言中,错误的语句是( C )。

A. a=b=c;B. ;C. breakD. b=3*5,a*=4;5.设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<b)&&!c||1)6.若int类型数据占两个字节,则执行以下语句的输出为( D )。

int x=-1;printf(“%d,%u\n”,x,x);A.1, 1 B.–1,32767 C.–1,32768 D.–1,655357. 以下程序的运行结果是( C )。

main(){ int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);}A.4B.5C.6D.78. 设a为整型变量,初值为12,执行完语句a+=a- =a*=a后,a的值是(D )。

A.-552B.-120C.-264D. 09. 以下所列字符常量中,不合法的是( A )。

A.'/Oxff' B.'\65' C.'$' D.'\xla'10.以下不致造成死循环的语句是( A )。

C语言试题-1(含答案)

C语言试题-1(含答案)

C语言试题2019.03一、单项选择题(共30分,每题1分)1.在PC机中,‘\n’在内存占用的字节数是()A.1 B.2 C. 3 D.42.字符串“ABC”在内存占用的字节数是()A.3 B. 4 C.6 D.83.在C语言中,合法的长整型常数是()A.0L B.4962710 C.0.054838743 D.2.1869 e104.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是()A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,25.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是()A.3 B.0 C.9 D.-126.设int k=32767;执行k=k+1;后k值为()最大值与最小值首尾相连A.32768 B.-32768 C.0 D.-17.下列正确的标识符是()A.hot_do B.a+b C.test! D.%y8.设int a=5,使b不为2的表达式是()A.b=6-(--a) B.b=a%2 C.b=a/2 D.b=a>3?2:19.执行x=(6*7%8+9)/5;后,x的值为()A.1 B.2 C.3 D.410.执行语句x=(a=3,b=a--)后,x,a,b的值依次为()A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,211.设a=-3;执行(a>0)?a:-a;后,a的值为()A.3 B.1 C.0 D.-312.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为()A.7 B.8 C.9 D.213.下面正确的字符常量是()A.”c” B.’\\’’ C.’W’ D. ‘’14.若有代数式3ae/bc,则不正确的c语言表达式是()A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*315.在C语言中,要求运算数必须是整型的运算符是()书中55页A./ B.++ C.!= D.%16.若有说明语句:char c=’\72’;则变量c ( )A.包含1个字符 B.包含2个字符C.包含3个字符 D.说明不合法,c值不确定17.sizeof (float)是()返回值为4。

C语言阶段测验1

C语言阶段测验1

《程序设计基础》阶段测验(1-6章)班级:学号:姓名:成绩:一、单项选择题(每小题2分,共60分)1.下列叙述中正确的是________。

A)每个C程序文件中都必须有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数2. 下列定义变量的语句中错误的是________。

A)int _int;B)double int_;C)char For;D)float USS3.以下能正确定义一维数组的选项是________。

A)int a[5]={0,1,2,3,4,5};B)char a[]={0,1,2,3,4,5};C)char a={'A','B','C'};D)int a[5]="0123";4.有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是________。

A)2,3,3B)2,3,2C)2,3,15. 有以下程序main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后输出结果是________。

A)a+b=10B)a+b=30C)30D)出错6.在嵌套使用if语句时,C语言规定else总是________。

A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对7.下列叙述中正确的是________。

A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句8以下不合法的用户标识符是________。

第一章c语言 测验题一

第一章c语言 测验题一

第1章C语言概述测验题一一、简答题(每小题10分,共20分)1. C语言的主要特点是什么?2. 简单描述一个C程序的运行过程。

二、选择题(每小题5分,共60分)1. 以下叙述中,正确的是( )。

A. 构成C程序的基本单位是函数B. 可以在一个函数中定义另一个函数C. main()函数必须放在其他函数之前D. 所有被调用的函数一定要在调用之前进行定义2. 要把高级语言程序编写的源程序转换为目标程序,需要使用( )。

A. 编写程序B.驱动程序C.诊断程序D.编译程序3. 下列叙述中正确的是( )A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的所有函数都是外部函数4. 下列标识符组中,合法的用户标识符为( )。

A. b-a和xyzB. CCP和intC. hiy和p#dD. abc和INT5.下列程序的输出是( )main(){ printf("%d",null);}A. 0B. 1C. -1D. 变量未定义错误6. 以下叙述正确的是( )A. C程序由主函数组成。

B. C程序由函数和过程组成C. C程序由函数组成D. 在C程序中,无论是整型还是实型,只要在允许的范围内,都能准确无误地表示。

7. 构成C语言程序的基本结构单位是( )A. 函数B. 过程C. 复合语句D. 语句.8. 以下说法中正确的是( )A. C程序总是从第一个函数开始运行B. C程序中,要调用的函数必须在main函数中定义C. C程序中,总是从main()函数开始执行D. C程序中的main()函数必须放在程序的开始部分9.C语言中的标识符只能由字母、数字、下画线组成,下述说法正确的是( )。

A. 标识符中的第一个字符必须是字母B. 标识符中的第一个字符必须是字母、下画线C. 标识符中的第一个字符必须是字母或下画线D. 标识符中的第一个字符必须是下画线10. 在C语言的源程序中,当一条语句一行写不完时,可以( )A. 用分号换行B. 用逗号换行C. 用回车换行符换行D.可以在任意的分隔符或空格处换行11. 以下不是C语言中的关键字的是( )A. caseB. typedefC. staticD. null12. 以下选项中不合法的用户标识符是。

C语言试卷1(含答案)

C语言试卷1(含答案)
else j=i;
putchar (j);
}
3、下面的函数功能是求x的y次方。
double fun(double x,int y)
{ int i;
double z=1;
for(i=1;i<=y;i++)
z=z*x;
return z;
}
4、先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将下标输出,若不存在这样的元素,则打印”Not found!”标志。
printf("\"%s\"\n",ch[1]);
}
A. "AAAA"B. "BBB"C. "BBBCC"D. "CC"
9.在C语言中,形参的缺省存储类是。
A. autoB. registerC. staticD. extern
10.以下程序的输出结果是。
main()
{ char x=040;
printf("%0\n",x<<1);
27.对break语句和continue语句,下面说法不正确的是。
A.break语句强制中断当前循环,退出循环体
B.break语句只能用在三条循环语句的循环体或switch语句中
C. 在没有循环情况下,continue语句能用在switch语句中
D.continue语句不能退出循环体
28.c语言允许if-else语句可以嵌套使用,规定else总是与配对。
A.&aa[0]+1B.&aa[1]C..&aa[0]++D. aa+1

C语言测试题及答案(1)(1)

C语言测试题及答案(1)(1)

一.选择题1.int i=10;float x; 执行x=5/i; 后x的值为 __C______。

A.0.5 B.0 C.0.0 D.1.02. 以下标识符中,哪一个是C语言的合法标识符 CA) 2abcd B)int C)a-2c D)_char E)#456xy3. 以下 C 是不正确的转义字符:A) '\n' B)’\’’C)'061' D)'\0'4.执行下面的程序后# include<stdio.h># define SQR(X) (X) * (X)void main (){ int a=10,K=2,m=1;a /= SQR(K+m) / SQR(K+m);printf(”a=%d”,a);}输出结果是a=__B_____。

A.10 B.1 C.9 D.05. 现有定义char str1[]="China",str2[5]={'C','h','i','l','e'};则有AA)strcmp(str1,str2)>0B)strcmp(str1,str2)<0C)strlen(str1)=6D)str1与str2所占存储空间大小一样6.有以下的结构体变量定义语句:struct student { int num; char name[9]; } stu;则下列叙述中错误的是B 。

A.结构体类型名为student B.结构体类型名为stuC.num是结构体成员名 D.struct是C的关键字7. 执行以下程序:# include<stdio.h>void main (void){char c=0;printf(“%c\n”,c);}输出结果是 _D_______。

A.‘\0’ B.语法错,不能执行 C.0 D.一个空行8.C语言对嵌套 if 语句的规定是: else 总是和 D 配对A)其之前最近的 if B) 缩进位置相同的 ifC)第一个 if D) 其之前最近且不带 else 的 if9.设有定义语句enum aa{add,sub,mul,div}opera;,以下对枚举变量opera的操作中,不正确的是 BA. opera=(enum aa)2B. scanf(“%d”,&opera)C. opera=add+1D. if(opera==sub)print(”OK”);10. 下列宏定义命令中,哪一个格式是正确的___D_____A.#define pi=3.14159;B. define pi=3.14159C. #define pi="3.14159"D. #define pi (3.14159)11.以下不正确的描述是 AA)在 switch 语句中使用 break 语句或continue语句的作用相同B)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环C)break 语句不能用于循环语句和 switch 语句之外的任何其他语句D)在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环12.定义int x=3,执行while(x){printf(“%d”,x);x--;}语句后,x的值为:A 。

C语言阶段一测试题参考答案

C语言阶段一测试题参考答案

阶段一测试题参考答案1.C程序的执行顺序是_____。

(A)从第一条语句开始(B)从程序开头开始(C)从第一个函数开始(D)从主函数开始2.C语言规定,必须以____作为主函数名。

(A)stdio (B)function (C)include (D)main3.C程序的基本构成单位是____.(A)子程序(B)函数(C)过程(D)函数和过程4.下列字符序列中,不可用作C语言标识符的是____。

(A)abc123 (B)no.1 (C)_ok (D)_123_ 5.序列字符序列中,可以作为变量名的是____。

(A)c++ (B)_DAY(C)123abc (D)a b c6.以下程序的正确执行结果为_______。

void main(void){char a,b;a =‘0’;b = ‘5’;printf (“%d,%d,%c,%c\n”,a,b,a,b);}说明:字符0的ASCII码值为十进制48。

答案:48,53,0,57.设有以下说明语句:int a;char b;float c;则以下结果为整数的表达式是____。

(A)a+b(B)a+c (C)b+c (D)a+b+c 8.已知字母a的ASCII码值为97,则下面程序的输出结果是____。

void main(void){char c;c = ‘b’+‘5’-‘3’;printf (“%c”, c);}(A)e (B)d (C)100 (D)1019.设a , x 均为整形变量,试写出下列语句的输出结果。

(1)x = 11 / 2 ; printf (“%d\n”, x);答案:(2)510.试分析下列程序的运行结果。

void main(void){int x , y ;x = 18 ;y = ( x ++) + x ;printf (“%d\n”, y);}答案:3611.用scanf (“%d , %d”, &x , &y );输入数据时,下面输入方式中正确的是_____。

C语言试卷一(含答案)

C语言试卷一(含答案)
试卷 1 一、选择题(共 20 题,每题 2 分,共 40 分) 1、设有说明语句:char a= '\72abc';则变量 a ( ) A) 包含 6 个字符 B) 包含 5 个字符 C) 包含 4 个字符 2、在 C 语言中,数字 029 是一个( ) A)八进制数 B)十六进制数 3、有如下程序 main( ) { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2);} 运行该程序的输出结果是( ) A)3 4 B)4 2 4、有如下程序段 int a=14,b=15,x; char c='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x 的值为( A)ture B)false 5、如下程序 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=2,b=1 B)a=1,b=1 6、 main( ) { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--) } 以上循环体的执行次数是( ) A)3 B)2 C)1
16、以下程序的输出结果是( ) A)#*#*# B)##### C)***** D)*#*#* main( ) { int i; for(i=1;i<6;i++) { if(i%2) {printf("#");continue;} printf("*"); } printf("\n"); } 17、已知有声明语句 char s1[10]= "abcde",s3[10];以下语句中能将 s1 中存储的字符 串和 s2 中存储的字符串正确交换的是 。 A.s3=s1,s1=s2,s2=s3; B.s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0]; C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]); D.strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3); 18、若有声明语句 int a[10],b[3][3];则以下对数组元素赋值的操作中,不会出现越界访 问的是 ___ 。 A.a[-1]=1 B.a[10]=0 C.b[3][0]=0 D.b[0][0]=0 19、以下是一个自定义函数的头部,其中正确的是 。 A.int fun(int a[ ],b) B.int fun(int a[ ],int a) C.int fun(int *a,int b) D.int fun(char a[ ][ ],int b) 20、下列 4 个函数中,( )能实现交换变量值的功能。 A) void fun_a(int x,int y) B) void fun_b(int *x,int *y) { int *p; { int *p; *p=x;x=y;y=*p;} *x=*y;*y=*x;} C) void fun_c(int *x,int *y) D) void fun_d(int x,int y) { *x=*x+*y; { int p; *y=*x-*y; p=x;x=y;y=p; *x=*x-*y;} } 二、填空题(每空2分,共 26 分) 1、已知:int x=3;则

C语言阶段测验1)

C语言阶段测验1)

《程序设计基础》阶段测验(1-6章)班级:学号:姓名:成绩:一、单项选择题(每小题2分,共60分)1.下列叙述中正确的是________。

A)每个C程序文件中都必须有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数2. 下列定义变量的语句中错误的是________。

A)int _int;B)double int_;C)char For;D)float USS3.以下能正确定义一维数组的选项是________。

A)int a[5]={0,1,2,3,4,5};B)char a[]={0,1,2,3,4,5};C)char a={'A','B','C'};D)int a[5]="0123";4.有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是________。

A)2,3,3B)2,3,2C)2,3,1D)2,2,1main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后输出结果是________。

A)a+b=10B)a+b=30C)30D)出错6.在嵌套使用if语句时,C语言规定else总是________。

A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对7.下列叙述中正确的是________。

A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句8以下不合法的用户标识符是________。

C语言阶段性测验(基础知识)

C语言阶段性测验(基础知识)

C语言阶段性测验(基础知识、常量、变量、运算符、表达式、输入输出) 学号:姓名: 2018年10月31日一、单项选择题(1分×48题)1.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok2.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?3. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof4.不属于C语言关键字的是()。

A.int B.break C.while D.character5.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char6.一个C程序是由()。

A.一个主程序和若干子程序组成 B.一个或多个函数组成C.若干过程组成D.若干子程序组成7.下列说法中,错误的是()。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数8.以下说法中正确的是()。

A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分9. C编译程序是()。

A.C程序的机器语言版本 B.一组机器语言指令C.将C源程序编译成目标程序D.由制造厂家提供的一套应用软件10.以下选项中,合法的用户标识符是()。

A.long B._2abc C.3dmax D.A.dat11.以下选项中,合法的实型常数是()。

C语言阶段测验1)

C语言阶段测验1)

《程序设计基础》阶段测验(1-6章)班级:学号:姓名:成绩:一、单项选择题(每小题2分,共60分)1.下列叙述中正确的是________。

A)每个C程序文件中都必须有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数2. 下列定义变量的语句中错误的是________。

A)int _int;B)double int_;C)char For;D)float USS3.以下能正确定义一维数组的选项是________。

A)int a[5]={0,1,2,3,4,5};B)char a[]={0,1,2,3,4,5};C)char a={'A','B','C'};D)int a[5]="0123";4.有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是________。

A)2,3,3B)2,3,2C)2,3,15. 有以下程序main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后输出结果是________。

A)a+b=10B)a+b=30C)30D)出错6.在嵌套使用if语句时,C语言规定else总是________。

A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对7.下列叙述中正确的是________。

A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句8以下不合法的用户标识符是________。

2024年C语言测试题

2024年C语言测试题
a. 静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关。
b. 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
c. 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
d. 静态链表就是一直不发生变化的链表。
(2)在双向链表指针p的结点前插入一个指针q的结点操作是______。
d. q->Llink=p->Llink; q->Rlink=q; p->Llink=q; p->Llink=q;
(3)下面说法正确的是______。
a. 顺序存储结构的主要缺点是不利于插入或删除操作;
b. 线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的.;
c. 顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好;
a. p->Llink=q; q->Rlink=p; p->Llink->Rlink=q; q->Llink=q;
b. p->Llink=q; p->Llink->Rlink=q; q->Rlink=p; q->Llink=p->Llink;
c. q->Rlink=p; q->Llink=p->Llink; p->Llink->Rlink=q; p->Llink=q;
(5)下面说法正确的是_________。
a. 数据元素是数据的最小单位。
b. 队列逻辑上是一个下端口和上端能增加又能减少的线性表。
c. 任何一个递归过程都可以转换成非递归过程。
d. 只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈。

一起学习C语言—阶段性测试(一)

一起学习C语言—阶段性测试(一)

一起学习C语言—阶段性测试(一)单项选择题:1.运算符优先级最高的是()。

A. &&B. [ ]C. ++D. /2.以下定义语句中正确的是()。

A. int a=b=0;B. char A=65+1,b='b';C. float a=3.14; int a;D. double a=2.0; b=1.1;3.设变量均已正确定义并且赋值,以下与其他三组输出结果不同的一组语句是()。

A. x++; printf(“%d\n”,x);B. n=++x; printf(“%d\n”,n);C. ++x; printf(“%d\n”,x);D. n=x++; printf(“%d\n”,n);判断题:4.表达式(int)14.6%5的值为4。

()5.若x=5,y=10,则x>y逻辑值为真。

()6.定义一个变量时,不能够同时给它赋初值。

()看看自己答对几道答案:1. B[解析]:本题考察运算符的优先级。

&&(逻辑与)是双目运算符,一般双目运算符的优先级低于单目运算符,它的优先级为11级。

[ ](下表运算符)的优先级为1级,属于优先级的最高级。

++(自增)优先级别为2级。

/(除法)为双目运算符,它的优先级为3级。

所以选B。

2. B[解析]:本题考察变量的定义方法。

如果要一次进行多个变量的定义,则它们之间要用逗号隔开,因此选项A 和D错误。

C语言规定,同一变量在程序的同一处不可声明为不同类型,所以选项C错误。

3. D[解析]:本题考察自增运算符。

++x表示先将x值加1后再用,x++表示先使用x值,用后加1,所以本题中ABC选项都会输出x+1的值,只有D选项会输出x的值。

4. 正确[解析]:本题考察强制类型转换和算术运算符。

在该表达式中先进行括号中的运算,将14.6转换为整型14,之后再做取余运算,14%5的结果为4。

5. 错误[解析]:本题考察关系运算符和逻辑运算符。

2022-2023学年四川省德阳市全国计算机等级考试C语言程序设计测试卷一(含答案)

2022-2023学年四川省德阳市全国计算机等级考试C语言程序设计测试卷一(含答案)

2022-2023学年四川省德阳市全国计算机等级考试C语言程序设计测试卷一(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1. 下列关于线性链表的描述中正确的是( )。

A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的2.设s1="Good",s2="",s3="Bye",则s1、s2和s3连接后的结果是()。

A.GoodB.GoodByeC.GoodByeD.Bye3.每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做()排序。

A.插入B.堆C.快速D.归并排序4.若i、j已定义成mt型,则下列程序段中内循环体的总执行次数是( )。

for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.305. 若要说明一个类型名STP,使得定义语句STP s;等价于Char*s;,以下选项中正确的是()。

A.typedef Char*s;B.typedef Char*STP;C.typedef STP*Char;D.typedef*Char STP;6.下列不属于C语言关键字的是()。

A.A.defaultB.registerC.enumD.external7.图的深度优先遍历类似于二叉树的_______。

A.先序遍历B.中序遍历C.后序遍历D.层次遍历8. 设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

A.x && yB.x<=yC.x || y + z &&y-zD.! ((x<y)&&!z||1)9.10.结构化程序的3种基本控制结构是()。

2022年江西省萍乡市全国计算机等级考试C语言程序设计测试卷一(含答案)

2022年江西省萍乡市全国计算机等级考试C语言程序设计测试卷一(含答案)

2022年江西省萍乡市全国计算机等级考试C语言程序设计测试卷一(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.结构化程序所规定的三种最基本控制结构是A.A.输入、处理、输出B.树形、网形、环形C.顺序、选择、循环D.主程序、子程序、函数2.对序线性表23,29,34,55,60,70,78用二分法查找值为60的元素时,需要比较次数为()A.1B.2C.3D.43.向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()操作。

A.h->next=s;B.s->next=h;C.s->next=h;h->next=s;D.s->next=h->next;h->next=s;4.在KMP算法中,已知模式串为ADABCADADA,请写出模式串的next 数组值()A.0,1,1,2,1,1,2,3,4,3B.1,2,3,2,1,1,2,4,4,3C.0,1,1,1,2,1,2,3,4,3D.2,1,1,2,1,1,2,3,3,45. 下列二维数组的说明中,不正确的是( )。

A.float a[][4]={0,1,8,5,9};B.int a[3][4]C.#define N 5 float a[N][3]D.int a[2][9.5];6.对于C语言的函数,下列叙述中正确的是()。

A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都可以嵌套7.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量().A.为全局变量,在本程序文件范围内有效B.为局部变量,只在该函数内有效C.为局部变量,只在该复合语句中有效D.定义无效,为非法变量8.在银行业务中,实体客户和实体银行之间的联系是()。

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

《程序设计基础》阶段测验(1-6章) 班级:学号:姓名:成绩:一、单项选择题(每小题2分,共60分)1.下列叙述中正确的是________。

A)每个C程序文件中都必须有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数2. 下列定义变量的语句中错误的是________。

A)int _int;B)double int_;C)char For;D)float USS3.以下能正确定义一维数组的选项是________。

A)int a[5]={0,1,2,3,4,5};B)char a[]={0,1,2,3,4,5};C)char a={'A','B','C'};D)int a[5]="0123";4.有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是________。

A)2,3,3B)2,3,2C)2,3,1D)2,2,15. 有以下程序main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后输出结果是________。

A)a+b=10B)a+b=30C)30D)出错6.在嵌套使用if语句时,C语言规定else总是________。

A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对7.下列叙述中正确的是________。

A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句8以下不合法的用户标识符是________。

A)j2_KEYB)DoubleC)4dD)_8_9.表达式3.6-5/2+1.2+5%2的值是________。

A)4.3B)4.8C)3.3D)3.810.以下能正确定义字符串的语句是________。

A)char str[]={‘\064'};B)char str=”\x43”;C)char str=”;D)char str[]=”\0”;11.有以下程序main(){ char a[7]="a0a0";int i,j;i=sizeof(a); j=strlen(a);printf("%d %d ",i,j);}程序运行后的输出结果是________。

A)2 2B)7 6C)7 4D)6 212. 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是________。

A)(!E=0)B)(E>0||E<0)C)(E==0)D)(E!=0)13. 要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,以下正确的程序段是________。

A)while((ch=getchar())!='N') printf(“%c”,ch);B)while(ch=getchar()!='N') printf(“%c”,ch);C)while(ch=getchar()==N') printf(“%c”,ch);D)while((ch=getchar())=='N') printf(“%c”,ch);14. 有以下程序main(){int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7) if(p[i]%2) j+=p[i];printf("%d ",j);}程序运行后的输出结果是________。

A)42B)45C)56D)6015.以下叙述中正确的是________。

A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码16. 以下程序的功能是:给r输入数据后计算半径为r的圆面积s。

程序在编译时出错。

main()/* Beginning */{ int r; float s;scanf("%d",&r);s=*p*r*r; printf("s=%f\n",s);}出错的原因是________。

A)注释语句书写位置错误B)存放圆半径的变量r不应该定义为整型C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量17.有以下程序段int k=0,a=1,b=2,c=3;k=a>c ? c:k;执行该程序段后,k的值是________。

A)3B)2C)1D)018. 有以下程序段int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是________。

A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数19. 数字字符0的ASCII值为48,若有以下程序main(){ char a='1',b='2';printf("%c,",b++);printf("%d ",b-a);}程序运行后的输出结果是________。

A)3,2B)50,2C)2,2D)2,5020. 有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d ",n++,++m);}程序运行后的输出结果是________。

A)12353514B)12353513C)12343514D)1234351321.有定义语句:int b;char c[10]; ,则正确的输入语句是________。

A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);22. 有以下程序main(){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d ",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是________。

A)m=123n=456p=789B)m=123 n=456 p=789C)m=123,n=456,p=789D)123 456 78923 .以下对二维数组a的正确说明是________.a)int a[3][]; b)float a(3,4);c)double a[1][4] d)float a(3)(4);24. 若有说明int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]25. 在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式26. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)1027. 定义如下变量和数组:int k;int a[3][3]={9,8,7,6,5,4,3,2,1};则下面语句的输出结果是for(k=0;k<3;k++)printf("%d",a[k][k]);A)7 5 3 B)9 5 1 C)9 6 3 D)7 4 128. 设有数组定义: char array[]="China"; 则数组array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节29. 以下不正确的定义语句是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′};30. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是A)2 B)3 C)4 D)无确定值31. 对以下说明语句的正确理解是int a[10]={6,7,8,9,10};A)将5个初值依次赋给a[1]至a[5]B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以此语句不正确33. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)2033. 以下能对二维数组c进行正确的初始化的语句是A)int c[3][]={{3},{3},{4}};B)int c[][3]={{3},{3},{4}};C)int c[3][2]={{3},{3},{4},{5}};D)int c[][3]={{3},{},{3}};34 下面程序输出的结果是main(){ int i;int a[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d ",a[2-i][i]);}A)1 5 9 B)7 5 3 C)3 5 7 D)5 9 135. 下列选项中错误的说明语句是A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′};B)char a[]={"toyou\0"};C)char a[]="toyou\0";D)char a[]=′toyou\0′;36. 已知:int c[3][4];则对数组元素引用正确的是A)c[1][4]B)c[1.5][0]C)c[1+0][0]D)以上表达都错误37. 若有以下语句,则正确的描述是char a[]="toyou";char b[]={′t′,′o′,′y′,′o′,′u′};A)a数组和b数组的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)a数组等价于b数组二. 填空题(每小题5分,共35分)1、下面程序段所表示的数学函数关系是_________。

相关文档
最新文档