A)字符型数组中可以存放字符串
物联网PLS技术练习(试卷编号1161)
物联网PLS技术练习(试卷编号1161)1.[单选题]电磁式交流接触器和交流继电器的区别是:( )A)交流接触器有短路环,而继电器没有B)交流接触器有主、辅助触点之分,而继电器没有C)没有区别答案:A解析:2.[单选题]CTD是哪种计数器()A)加法计数器B)减法计数器C)可逆计数器答案:B解析:3.[单选题]增计数器的标识符是( )。
A)CTUB)CTDC)CTUD答案:A解析:4.[单选题]下列( )属于双字寻址。
A)QW1B)VB12C)10.0D)VD28答案:D解析:5.[单选题]若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A)a<>0B)!aC)a=0D)a答案:D解析:D)记忆答案:A解析:7.[单选题]执行语句for(i=1;i<4;i++ );后变量i的值是( )。
A)3B)5C)4D)不定答案:C解析:8.[单选题]下列选项哪一个不属于PLC的编程系统( )。
A)基本指令系统B)步进顺控指令系统C)梯形图指令系统D)功能指令系统答案:C解析:9.[单选题]若使Q0.0在输入脉冲的上升沿到来时只接通一个扫描周期,然后复位。
可在Q0.0前加()A)NOTB)NC)EDD)EU答案:D解析:10.[单选题]在梯形图中不能出现( )软元件的线圈A)IB)MC)TD)Q答案:A解析:D)热继电器答案:B解析:12.[单选题]跳转指令目标的标识符的格式要求为。
A)只能为1~4个字符,且首位必须为数字B)只能为1~4个字符,且首位必须为字母C)只能为1~4个字母或数字,且首位必须为数字D)只能为1~4个字母或数字,且首位必须为字母答案:D解析:13.[单选题]PLC的中文名称是()。
A)逻辑控制器B)电气控制器C)可编程器件D)可编程序控制器答案:D解析:14.[单选题]M8013是归类于( )。
A)普通继电器B)计数器C)特殊辅助继电器D)高速计数器答案:C解析:15.[单选题]S7-200系列可编程序控制器中,写内部时钟,用什么指令A)TDB)TMC)TODRD)TRDW答案:D解析:16.[单选题]三菱FX型PLC一个晶体管输出点输出电压是多少( ):解析:17.[单选题]PLC输出接口中( )型输出接口只能用于驱动交流负载。
C语言专升本考试(习题卷5)
C语言专升本考试(习题卷5)第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]表达式a>>3|b的计算顺序是( )。
(2分)A)1. 先执行左移,后执行或运算B)1. 先执行或运算,再执行左移C)1. 先执行或运算,再执行右移D)1. 先执行右移,再执行或运算答案:D解析:2.[单选题]对于基类型相同的两个指针变量之间,不能进行的运算是( )。
(2分)A)<B)"=C)+D)-答案:C解析:3.[单选题]以下正确的程序段是( )。
(2分)A)1. char str[20]; scanf("%s",&str);B)1. char *p; scanf("%s",p);C)1. char str[20]; scanf("%s",&str[2]);D)1. char str[20],*p=str; scanf("%s",p[2]);答案:C解析:4.[单选题]若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是( )。
(2分)A)1. read a,b,c;B)1. getchar(a,b,c);C)1. scanf("%d%d%d",&a,&b,&c);D)1. scanf("%d%d%d",a,b,c);答案:C解析:5.[单选题]Char *s1="hello",*s2;s2=s1;则()。
A)s2指向不确定的内存单元B)不能访问"hello"C)puts(s1);与puts(s2);结果相同D)s1不能再指向其它单元答案:C解析:6.[单选题]若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存C)scanf("%d",*p);D)scanf("%d",**p);答案:A解析:7.[单选题]以下选项中,与k=n++完全等价的表达式是()。
C语言 第2次作业
1 .C语言中规定函数的返回值的类型是由()。
A.return语句中的表达式类型所决定B.调用该函数时系统临时决定C.调用该函数时的主调用函数类型所决定D.在定义该函数时所指定的函数类型所决定参考答案:D2 .以下不能正确进行字符串赋初值的语句是____。
A.char str[5]="good“B.! char str[]=goodC.! char *str=goodD.! char str[5]={'g','o','o','d'}!参考答案:A3 .C语言中_______。
A.能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环参考答案:A4 .以下选项中,与k=n++完全等价的表达式是_____。
A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1参考答案:A5 .有定义语句: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);参考答案:B6 .若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。
A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1参考答案:D7 .若i 、j 已定义为int 型,则以下程序段中语句printf( “%d ”,i*j); 的执行次数是_____。
c语言经典选择填空题1
选择题(30分)(第一部分分10分,第二部分12分,第三部分8分)第一部分:简单类题目( 50个题目,从中选择10,每题1分)1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C) A.4 B.16 C.32 D.5222.以下程序的输出结果(B)。
main( ){ int x1=3, x2=0, x3=0;if (x1=x2+x3)printf("* * * *");else printf("# # # #");}A.输出:* * * * B.输出:# # # #C.存在语法错误 D.无输出结果3.下面四个选项中,均是合法转义字符的选项是(A)。
A.'\'' '\\' '\n' B.'\' '\017' '\"'C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf'4.若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是(D)。
A、4B、3C、2D、15.设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是(D)。
A. i&&j B.i<=jC.i||j+k&&j-k D.!((i<j)&&!k||1)6.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是(C)。
A.num%2= =1 B. !(num%2= =0) C.!(num%2) D.num%27.有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}程序运行后的输出结果是 ( D ) 。
C语言模拟试卷2(带答案)
C语⾔模拟试卷2(带答案)单选题:1、执⾏下⾯的程序段后,变量k中的值为s[0]=k; k=s[1]*10;A. 不定值B. 33C. 30D. 10答案: A2、设有以下定义:#define N 3#define Y(n) ( (N+1)*n)则执⾏语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+(4*5+1)A. 出错B. 42C. 48D. 54答案: C3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____A. 1B. 2C. 2.0D. 2.5答案: c4、请选出以下语句的输出结果____printf("%d\n",strlen("\t\ 065\xff\n"))A. 5B. 4C. 8D. 输出项不合法,⽆正常输出答案: B5、为避免嵌套的条件分⽀语句if…else的⼆义性,C语⾔规定,C 程序中的else总是与____组成配对关系。
C. 缩排位置相同的ifD. 在其之前未配对的if答案: A6、若X和Y都是int型变量,X=100,Y=200,且有下⾯的程序⽚段: printf("%d",(X,Y));上⾯程序⽚段的输出结果是A. 200B. 100C. 100 200D. 输出格式符不够,输出不确定的值答案: A7、请读程序⽚段(字符串内没有空格字符):printf("%d\n", strlen("ATS\n012\1\\"));上⾯程序⽚段的输出结果是A. 11B. 9C. 10D. 8答案: B8、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf("%d",s);则______A. 运⾏程序段后输出0B. 运⾏程序段后输出1C. 程序段中的控制表达式是⾮法的D. 程序段执⾏⽆限次答案: B9、阅读下列程序:main( ){ int n[3],i,j,k;for(i=0;i〈 3;i++)n[i]=0;i=1: =3 =3for (j=0;j〈 2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}下述程序运⾏后输出结果是A. 2B. 1C. 0D. 3答案: D10、输⼊⼀个华⽒温度,要求输出摄⽒温度。
计算机二级c语言经典练习题及解析答案
计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: 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. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
C语言期末考试选择题题库(含答案)
0001 以下不是C语言规定保留字的是( B)。
A.floatB.integerC.signedD. unsigned------------------------------------------------------------------- 0002 设int型变量x有初始值3,则表达式x++*5/10的值是( B )A.0B.1C.2D.3------------------------------------------------------------------ 0003下述程序段执行后的输出结果是(A )int x='F';printf("%c\n",'A'+(x-'A'+1));A.GB.HC.ID.J----------------------------------------------------------------- 0008 以下合法的数组说明是(D )。
A. char a[6]="string";B. int a[5]={0,1,2,3,4,5};C. char a="string";D. int a[]={0,12,3,4,5};----------------------------------------------------------------- 0009 下述程序代码中有语法错误的行是(D )。
int i,ia[10],ib[10]; /*第1行*/for (i=0;i<=9;i++) /*第2行*/ia[i]=0; /*第3行*/ib=ia; /第4行*/A.第1行B.第2行C.第3行D.第4行----------------------------------------------------------------- 0013 以下符合语法规则的用户标识符是(C )。
C语言程序设计理论试题库
《C语言程序设计》理论试题库选择题100例选择题1.以下选项中属于C语言的数据类型是( )A、复数型B、逻辑型C、双精度型D、集合型2.在C语言中,不正确的int 类型的常数是( )A、32768B、0C、037D、0xAF3.设有说明语句:char a= '\72';则变量a ( )A、包含1个字符B、包含2个字符C、包含3个字符D、说明不合法4.以下所列的C语言常量中,错误的是( )A、0xFFB、1.2e0.5C、2LD、'\72'5.以下选项中合法的字符常量是( )A、"B"B、'\010'C、-268D、D6.在C语言中,合法的长整型常数是( )A、0LB、4962710C、324562&D、216D7.下列标识符中,合法的标识符是( )A、-abc1B、1abcC、_abc1D、 for8.C语言程序的基本单位是( )A、语句B、程序行C、函数D、字符9.以下叙述正确的是()A、可以把define和if定义为用户标识符B、可以把define定义为用户标识符,但不能把if定义为用户标识符C、可以把if定义为用户标识符,但不能把define定义不用户标识符D、define和if都不能定义为用户标识符10.以下叙述正确的是()A、可以把define和if定义为用户标识符B、可以把define定义为用户标识符,但不能把if定义为用户标识符C、可以把if定义为用户标识符,但不能把define定义为用户标识符D、define和if都不能定义为用户标识符11.有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main( ){printf("%d\n",fib(3));该程序的输出结果是()A、2B、 4C、 6D、812.在C语言中,函数的隐含存储类别是()A、 autoB、 staticC、 externD、无存储类别13.以下所列的各函数首部中,正确的是()A、void play(var:Integer,var b:Integer)B、 void play(int a,b)C、 void play(int a,int b)D、 Sub play(a as integer,b as integer)14.在C程序中,可把整型数以二进制形式存放到文件中的函数是()A、 fprintf函数B、 fread函数C、fwrite函数D、 fputc函数15.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()A、 EOFB、 0C、非零值D、 NULL 16.若要打开A盘上的user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()A、 fopen("A:\user\abc.txt","r")B、fopen("A:\user\abc.txt","r+")C、fopen("A:\user\abc.txt","rb")D、fopen("A:\user\abc.txt","w") 17.以下程序的输出结果是()A、 0B、 29C、 31D、无定值fun(int x,int y,int z){ z=x*x+y*y;}main( ){ int a=31;fun(5,2,a);printf("%d",a);}18.当调用函数时,实参是一个数组名,则向函数传送的是()A、数组的长度B、数组的首地址C、数组每一个元素的地址D、数组每个元素中的值19.以下只有在使用时才为该类型变量分配内存的存储类说明是()A、auto和staticB、auto和registerC、register和staticD、extern和register20.以下程序的输出结果是()A、1B、2C、3D、4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1)return s;}main( ){ printf("%ld\n",fun(3)); }21.以下程序的输出结果是()main( ){ int num= 0;while(num<=2){ num++;printf("%d\n",num);}A、 1B、1C、1D、l2 2 23 3422.以下程序的输出结果是()int f( ){static int i=0;int s=1;s+=i;i++;return s;}main( ){int i,a=0;for(i=0;i<5;i++) a+=f();printf("%d\n",a);}A、20B、24C、25D、1523.以下程序的输出结果是()f(int b[ ],int m,int n){int i,s=0;for(i=m;i<n;i=i+2) s=s+b[i];return s;}main( ){int x,a[ ]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);}A、10B、18C、8D、1524.下列程序执行后的输出结果是()A、GB、HC、ID、Jmain( ){int x='f';printf("%c \n",'A'+(x-'a'+1));}25.下列程序执行后的输出结果是()A、-32767B、FFFEC、-1D、-32768main( ){int x=0xFFFF;printf("%d \n",x--);}26.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是()A、a\bre\'hi\'y\\\bouB、a\bre\'hi\'y\bouC、re'hi'youD、abre'hi'y\bou (说明:'\b'是退格符) 27.有如下程序main( ){int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}运行该程序的输出结果是()A、3 4B、4 2C、4 3D、3 328.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a 赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()A、10<回车>22<回车> 33<回车>B、10.0,22.0,33.0<回车>C、10.0<回车>22.0 33.0<回车>D、10 22<回车> 33<回车>29.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);30.以下程序段的输出结果是()int a=1234;printf("%2d\n",a);A、12B、34C、1234D、提示出错、无结果31.设int b=2;表达式(b>>2)/(b>>1)的值是()A、0B、2C、4D、832.有如下定义()struct person{char name[9]; int age;};struct person class[10]={ "Johu",17,"Paul",19,"Mary",18,"Adam",16};根据上述定义,能输出字母M的语句是()A、prinft("%c\n",class[3].mane);B、pfintf("%c\n",class[3].name[1]);C、prinft("%c\n",class[2].name[1]);D、printf("%c\n",class[2].name[0]);33.设有以下说明语句struct ex{ int x;float y;char z;}example;则下面的叙述中不正确的是()A、struct是结构体类型的关键字B、example是结构体类型名C、x,y,z都是结构体成员名D、struct ex是结构体类型名34.以下程序的输出是()A、10B、11C、51D、60struct st{ int x;int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};main( ){ p=aa;printf("%d\n",++(p->x));}35.以下程序的输出结果是()main( ){char x=040;printf("%o\n",x<<1);}A、100B、80C、64D、3236.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()A、scanf("%d%d%d",&a,&b,d);B、scanf("%d%d%d",&a,&b,&d);C、scanf("%d%d%d",a,b,d);D、scanf("%d%d%d",a,b,*d);37.以下程序的输出结果是()main( ){int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}A、5B、4C、6D、不确定38.设x,y,z和k都是int 型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值( )A、4B、16C、32D、5239.当c的值不为0 时,在下列选项中能正确将c的值赋给变量a、b的是( )A、c=b=a;B、(a=c)||(b=c);C、(a=c)&&(b=c);D、a=c=b;40.能正确表示a和b同时为正或同时为负的逻辑表达式是( )A、(a>=0||b>=0)&&(a<0||b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>041.语句:printf("%d",(a=2)&&(b=-2));的输出结果是( )A、无输出B、结果不确定C、-1D、142.设有 int x=11;则表达式 (x++ * 1/3) 的值是( )A、3B、 4C、 11D、 1243.设 int x=1, y=1;表达式(!x||y--)的值是()A、0B、 1C、 2D、 -144.C语言中运算对象必须是整型的运算符是()A、%=B、/C、=D、〈=45.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()A、1B、2C、2.0D、2.546.若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A、0B、0.5C、1D、247.能正确表示逻辑关系:“a》10或a《0”的C语言表达式是()A、a>=10 or a<=0B、a>=0|a<=10C、a>=10 &&a<=0D、a>=10‖a<=048.下程序的输出结果是( )A、-1 1B、0 1C、1 0D、0 0main( ){ int a= -1,b=1,k;if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}49.若有定义: float w;int a,b;则合法的switch语句是()A、switch(w)B、switch(a){ case 1.0:printf("*\n"); { case 1 printf("*\n");case 2.0:printf("**\n"); case 2 printf("**\n");} }C、switch(b)D、switch(a+b){ case 1:printf("*\n"); { case 1:printf("*\n");default:printf("\n"); case 2:printf("**\n");case 1+2:printf("**\n"); default:printf("\n");} }50.如下程序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=1B、a=1,b=1C、a=1,b=0D、a=2,b=251.有如下程序main( ){ float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是()A、0.000000B、0.250000C、0.500000D、1.00000052.有如下程序main( ){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是( )53.若执行以下程序时从键盘上输入9,则输出结果是()A、11B、10C、9D、8main(){ int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}54.阅读以下程序:main( ){ int x;scanf("%d",&x);if(x--<5) printf("%d",x);else printf("%d",x++);}程序运行后,如果从键盘上输人5,则输出结果是()A、3B、4C、5D、655.以下叙述正确的是()A、do-while语句构成的循环不能用其它语句构成的循环代替。
C语言程序设计模拟试题五
高级语言程序设计试题五》、单项选择题(每题 1 分,共20 分)1字符串“ abcd\tef\Og”的长度是()A 、9 B、7 C、6D、4 2.下列描述中不正确的是A 、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体输入、输出D、不能在赋值语句中通过赋值运算符“二“对字符型数组进行整体赋值3. 设int x=1,y=1;表达式(!x||y--)的值是A、OB、1C、24. 以下循环体的执行次数是A、3B、2C、1main(){ int i,j;for(i=O,j=1;i<=j+1;i+=2,j--)printf(}5. 以下程序的输出结果是main(){ int x=1O,y=1O,i;for(i=O;x>8;y=++i)printf( “ %d %d” ,x--,y)}A、1O 1 9 2B、9 8 76、已知:char str1[20]= ” abcdd' ,str2[20]= ” xyz”;则执行语句:printf ( “%d” , strlen ( strcpy ( str1,str2 ) ) );输出结果是()A 、9B 、3C 、5D 、87、已知int a[10];则对a数组元素的正确引用是()A、a[10]B、a[3.5]C、a(5) D、a[10-10] 8、若已有定义char str[7];要将键盘输入的字符串“a pea r “赋给str,应使用A、gets(str);B、scanf(“%s” ,str);C、str=” a pear” ; D、getchar(str);9. 若定义函数int *func1(),则func1的函数返回值是A、整数B、指向函数的指针10. typedef int BIGGY; 的作用是A、建立了一个新的数据类型C、定义了一个长整型变量C、整型数的地址D、以上说法均错B、定义了一个整型变量D、说明了一个新的数据类型标识符D、-1D、O%d\n” ,i);6 C、1O 9 9 O D、1O 1O 9 111. C语言规定,函数的返回值类型是A、由return语句中的表达式类型决定的B、由调用该函数时的主调函数类型决定的C、由系统决定的D、由该函数定义时的类型决定的12、已知函数定义的形式如下:struct data * f(void ){ .............. }则函数 f ( )A 、没有参数,返回值是一个结构B 、有一个参数void, 返回值是一个结构C、没有参数,返回值是一个结构指针D 、有一个参数 void, 返回值是一个结构指针13、对于 int *pa[5] ;的描述,( )是正确的A 、 pa 是一个指向数组的指针,所指向的数组是 5个int 型元素B 、 pa 是一个指向某数组中第5个元素的指针,该指针是int 型变量C 、 p a[5]表示某个数组的第5个元素的值D 、 pa 是一个具有5个元素的指针数组,每一个元素是一个int 型指针 14•在C 语言中,switch 语句后一对圆括号中表达式的类型A 、可以是任何类型C 、可以是整型或字符型 15、 已知: struct{ int i;char c;float a;} test;贝U sizeof(test)的值是()A 、 4B 、 5C 、 616、 在高级语言中对文件操作的一般步骤是(A 、打开文件一操作文件一关闭文件B 、操作文件 —修改文件 — 关闭文件C 、 读写文件一打开文件一关闭文件D 、 读文件一写文件一关闭文件17.有如下程序段int *p,a=10,b=1; p=&a;a=*p+b;执行该程序段后,a 的值是A 、 12B 、 11C 、 1018•执行以下程序段后,s 的值是 int a[]={5,3,7,2,1,5,4,10};int s=0,k; for(k=0;k<8;k+=2) s+=*(a+k);A 、 17B 、 27C 、 1319.以下程序中有语法错误,有关错误原因的正确说法是 main(){ int G=5,k;void par_char(int x,int y);k=par_char(G);}A 、 语句void par_char();有错,不能用void 说明函数的类型B 、 变量名G 不能使用大写字母C 、 函数说明和函数调用语句之间有矛盾D 、 函数名不能使用下划线20.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));贝在此函数调用语句中实参的个数是A 、 3B 、 4C 、 5D 、 6B 、只能是int 类型 D 、只能是整型或实型D 、 7 D 、编译出错 D 、无定值2 分,共10 分)、多项选择题(下列各题中,有一个或多个正确答案,多选或少选均不得分。
C语言考试题库 含答案
cC语言程序的基本单位是__________ A) 程序行 B) 语句 C) 函数 D) 字符C C语言程序的三种基本结构是__________ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构AC语言规定,程序中各函数之间A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用A C语言中可处理的文件类型是( )A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件B C语言可执行程序的开始执行点是( ) A) 程序中第-条可执行语句 B) 程序中第-个函数 C) 程序中的main函数 D) 包含文件中的第-个函数C不是C语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char C C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *A C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型D C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为___________。
A .该数组的长度 B.该数组的元素个数 C. 该数组中各元素的值 D.该数组的首地址D C语言中数组下标的下限是___________ A、1 B、0 C、视具体情况 D、无固定下限B C语言中提供的合法关键字是__________ A、swith B、cher C、cese D、default D C语言中文件的存取方式是____________________。
A.顺序存取 B.随机存取 C.顺序存取、随机存取均可 D.顺序存取、随机存取均不可C C语言中最简单的数据类型包括A) 整型、实型、逻辑型 B) 整型、实型、字符型C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型B sizeof(float)是( )A.-种函数调用B.-个不合法的表示形式C.-个整型表达式D.-个浮点表达式C x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z); C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);B 表达式:10!=9的值是 A) true B) 非零值 C) 0 D) 1D 表示关系x<=y<=z的c语言表达式为A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)A 程序片段:在TC20中, int i=65536; printf("%d\n",i);的输出结果是__________ A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1B 当调用函数时,实参是-个数组名,则向函数传送的是__________ A.数组的长度 B.数组的首地址 C.数组每-个元素的地址 D.数组每个元素中的值B对嵌套子程序调用说法正确的是__________。
C语言基础强化练习100题(含答案)
C语言基础强化练习100题(含答案)雷柳青编排1.C语言程序的基本构成单位是____A) 程序行 B) 语句 C) 函数 D) 字符2.C语言程序的三种基本结构是____A.顺序结构,选择结构,循环结构B.递归结构,循环结构,转移结构C.嵌套结构,递归结构,顺序结构D.循环结构,转移结构,顺序结构3.C语言规定,程序中各函数之间______A) 既允许直接递归调用也允许间接递归调用B) 不允许直接递归调用也不允许间接递归调用C) 允许直接递归调用不允许间接递归调用D) 不允许直接递归调用允许间接递归调用4.C语言中可处理的文件类型是_____A) 文本文件和数据文件 B)文本文件和二进制文件C) 数据文件和二进制文件 D)数据代码文件5.C语言可执行程序的开始执行点是________A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数6.C语言提供的合法的数据类型关键字是________A)Double B) short C) integer D) Char7.C语言中,运算对象必须是整型数的运算符是_______A) % B) \ C) %和\ D) *8.C语言中函数返回值的类型是由()决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型C) 调用函数时临时 D) 定义函数时所指定的函数类型9.C语言中数组名作为参数传递给函数,作为实参数的数组名被处理为_____。
A. 该数组的长度。
B. 该数组的元素个数。
C. 该数组中各元素的值。
D. 该数组的首地址。
10.C语言中数组下标的下限是________。
A.1B.0C.视具体情况D.无固定下限11.C语言中提供的合法关键字是____A.swithB.cherC.CaseD.default12.C语言中文件的存取方式是________。
A.顺序存取B.随机存取C.顺序存取.随机存取均可D.顺序存取.随机存取均不可13.C语言中最简单的数据类型包括______A) 整型.实型.逻辑型B) 整型.实型.字符型C) 整型.字符型.逻辑型 D) 整型.实型.逻辑型.字符型14.sizeof(float)是______A) 一种函数调用B) 一个不合法的表示形式C) 一个整型表达式D) 一个浮点表达式15.x.y.z被定义为int型变量,若从键盘给x.y.z输入数据,正确的输入语句是______A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);16.表达式:10!=9的值是_____A) true B) 非零值C) 0 D) 117.表示关系x<=y<=z的c语言表达式为________A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z)C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)18.程序片段:在TC20中, int i=65536; printf("%d",i);的输出结果是____A) 65536 B) 0 C) 有语法错误,无输出结果 D) -119.当调用函数时,实参是一个数组名,则向函数传送的是____A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值20.对于基本类型相同的两个指针变量之间,不能进行的运算是_______A) < B) = C) + D) -21.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是______A) 3 B) 6 C) 10 D) 2022.假定有以下变量定义: int k=7 ,x=12; 则能使值为3的表达式是_______A x%=(k%=5)B x%=(k-k%5)C x%=k-k%5D (x%=k)-(k%=5)23.请读程序片段(字符串内没有空格): printf("%d",strlen("ATS012\1\\\017"));的输出结果是________A) 11 B) 10 C) 9 D) 824.请选出合法的C语言赋值语句_____A) a=b=58; B) i++=5; C) a=58,b=58 D) k+5=int(a+b);25.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 ___A) -3 B) 9 C) -12 D) 626.若int类型占两个字节,则以下语句输出为________。
宁夏大学C语言考试题库选择和填空含答案
{ double a; char b[10];
} s; B:struct
{ double a; char b[10];
}s;
C:struct ABC { double a;
char b[10]; } ABC s;
C:144 D:-264
24、设有如下枚举类型定义 enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran};
枚举量Fortran的值为__C____。 A:4 B:7 C:102 D:103
25、设有以下语句,其中不是对a数组元素的正确引用的是:___D___(其 中0≤i<10)
for(i=0;x>8 ;y=++i) printf("%d %d ",x--,y); }
A:10 1 9 2
B:9 8 7 6
C:10 9 9 0
D:10 10 9 1
5、以下程序的输出结果是___B___。 main() { char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i ; i=8; p=a+i; printf("%s\n",p-3); }
___B___。
A:输出的是1
B:输出的是1和-2
C:输出的是3和0
D:是死循环
34、下面的程序中__C____错误(每行程序前面的数字是行号)。 1 #include<stdio.h> 2 main() 3{ 4 float a[3]={0.0}; 5 int i; 6 for(i=0;i<3;i++) scanf("%d",a[i]);%f 7 for(i=1;i<3;i++)a[0]=a[0]+a[i]; 8 printf("%f\n",a[0]); 9}
1999年9月全国计算机二级C语言考题试卷及答案
1999年9月全国计算机二级C语言考题试卷及解答一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。
(1)十进制数1385转换成十六进制数为A.568B.569C.D85D.D55(2)下列叙述中正确的是A.计算机病毒只能传染给可执行文件B.计算机软件是指存储在软盘中的程序C.计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D.硬盘虽然装在主机箱内,但它属于外存(3)一个字长的二进制位数是A.8B.16C.32D.随计算机系统而不同的(4)CPU主要由运算器与控制器组成,下列说法中正确的是A.运算器主要负责解析指令,并根据指令要求作相应的运算B.控制器主要完成对数据的运算,包括算术运算和逻辑运算C.控制器主要负责解析指令,并根据指令要求作相应的运算D.控制器直接控制计算机系统的输入与输出操作(5)下列叙述中正确的是A.将数字信号变换成便于在模拟通信线路中传输的信号称为调制B.以原封不动的形式将来自终端的信息送入通信线路称为调制解调C.在计算机网络中,一种传输介质不能传送多路信号D.在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6)各种网络传输介质A.具有相同的传输速率和相同的传输距离B.具有不同的传输速率和不同的传输距离C.具有相同的传输速率和不同的传输距离D.具有不同的传输速率和相同的传输距离(7)多媒体计算机系统的两大组成部分是A.多媒体功能卡和多媒体主机B.多媒体通信软件和多媒体开发工具C.多媒体输入设备和多媒体输出设备D.多媒体计算机硬件系统和多媒体计算机软件系统(8)按通信距离划分,计算机网络可以分为局域网和广域网。
下列网络中属于局域网的是A.InternetB.CERNETC.NovellD.CHINANET(9)在Windows中,启动应用程序的正确方法是A.用鼠标双击该应用程序图标B.将该应用程序窗口小化成图标C.将该应用程序窗口还原D.将鼠标指向该应用程序图标(10)在Windows中,终止应用程序执行的正确方法是A.用鼠标双击应用程序窗口左上角的控制菜单框B.将应用程序窗口小化成图标C.用鼠标双击应用程序窗口右上角的还原按钮D.用鼠标双击应用程序窗口中的标题栏(11)DOS控制键Ctrl+Alt+Del的功能为A.删除一个字符并退格B.暂停标准输出设备的输出C.热启动D.终止当前操作(12)设当前盘为C盘,为了将A盘当前目录中所有扩展名为.PAS 的文件改成扩展名为.P,应使用的DOS命令为A.REN A:*.PAS A:*.PB.REN A:*.PAS *.PB.REN A:.PAS A:.PD.REN A:.PAS .P(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,正确的DOS命令为A.CD D2B.CD D2\C.CD \D2D.CD D1\D2(14)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT 连接后以文件名Y.TXT 存放到A盘的当前目录中,正确的DOS命令为A.COPY A.TXT+X.TXT A:Y.TXTB.COPY B:A.TXT+X.TXT A:Y.TXTB.COPY B:A.TXT+B:X.TXT>Y.TXTD.COPY B:A.TXT+B:X.TXT Y.TXT(15)下列DOS命令中正确的是A.REN \USER\A.TXT \B.TXTB.CD \C.TYPE *.TXTD.MD \(16)以下选项中属于C语言的数据类型是A.复数型B.逻辑型C.双精度型D.集合型(17)在C语言中,不正确的int类型的常数是A.32768B.0C.037D.0xAF(18)语句:printf("%d",(a=2)&&(b= -2);的输出结果是A.无输出B.结果不确定C.-1D.1(19)下列描述中不正确的是A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值(20)设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A.1B.0C.-1D.2(21)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A.c=b=a;B.(a=C.‖(b=c);C.(a=c)&&(b=c);D.a=c=b;(22)以下程序的输出结果是A.10 1 9 2B.9 8 7 6C.10 9 9 0D.10 10 9 1{ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}(23)以下程序的输出结果是A.5 2B.5 1C.5 3D.9 7main( ){ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d ",p[i]);}(24)以下程序的输出结果是A.6B.6789C.'6'D.789main( ){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;int i;i=8;p=a+I;printf("%s\n",p-3);}(25)以下程序的运行结果是A.运行后报错B.6 6C.6 12#include "stdio.h"main( ){int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,};int *p=a+5, *q=NULL;* q=*(p+5);printf("%d %d \n",*p,*q);}(26)以下说法中正确的是A.#define和printf都是C语句B.#define是C语句,而printf不是C.printf是C语句,但#define不是D.#define和printf都不是C语句(27)语句:printf("%d \n",12 &012);的输出结果是A.12B.8C.6D.012(28)能正确表示a和b同时为正或同时为负的逻辑表达式是A.(a>=0‖b>=0)&&(a<0‖b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>0(29)以下程序的输出结果是A.2 0B.3 1C.3 2 1D.2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}(30)若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A.p+1B.a+1C.a++D.++p(31)以下程序的输出结果是A.17,021,0x11B.17,17,17B.17,0x11,021D.17,21,11main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}(32)以下程序的输出结果是A.-1 1B.0 1C.1 0D.0 0main( ){ int a= -1,b=1,k;if((++a<0)&& ! (b-- <=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}(33)若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A.*p=&a; scanf("%ld",p);B.p=(long *)malloc(8); scanf("%ld",p);C.scanf("%ld",p=&a);D.scanf("%ld",&a);(34)以下选项中,能定义s为合法的结构体变量的是A.typedef struct abcB.struct{ double a; { double a;char b[10]; char b[10];} s; } s;C.struct ABCD.typedef ABC{ double a; { double a;char b[10]; char b[10];} }ABC s; ABC s;(35)若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是A.t[2][0]B.t[2][2]C.t[l][2]D.t[2][l]int t[3][3], *pt([3], k;for (k=0;k<3;k++)pt[k]=&t[k][0];(36)下面程序把数组元素中的值放入a[0]中。
《程序设计(C语言)》第3阶段在线作业
一、单项选择题答题要求 :每题只有一个正确的选项。
1(5.0 分)5.0下列描述中不正确的是( ) A) 字符型数组中可以存放字符串 B) 可以对字符型数组进行整体输入、输出 C) 可以对整型数组进行整体输入、输出 D) 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 参考答案: C收起解析 解析:无2(5.0 分)5.0已有定义:int x=3,y=4,z=5;则表达式!(x y) z-1&&y z/2 的值是( ) A) 6 B) 0 C) 2 D) 1 参考答案: D收起解析解析:无3(5.0 分)5.0已定义 c 为字符型变量,则下列语句中正确的赋值语句是( ) A) c='66'; B) c="66" c=66; C) D) c="B"参考答案: C收起解析解析:无4(5.0 分)5.0下面有关 for 循环的正确描述是( ) A) for 循环只能用于循环次数已经确定的情况 B) for 循环是先执行循环体语句,后判断表达式 C) 在 for 循环中,不能用 break 语句跳出循环体 D) for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 参考答案: D收起解析解析:无5(5.0 分)5.0下列循环语句中,不能够正常结束的是( ) A) int i=0;for(;i<100;i ); B) int i=0;for(;;){if(i >100)break;} C) int i=0,j=0;while(i<=j)j ; D) int i=0,j=0;do{i =j;i ;j ;}while(i<j); <="" div="" style="box-sizi ng: border-box;"> 参考答案: D收起解析解析:无6(5.0 分)5.0下列说法正确的是( ) A) main 函数必须放在 C 程序的开头 B) main 函数必须放在 C 程序的最后 C) main 函数可以放在 C 程序的中间部分,但在执行 C 程序时是从程序开头执 行的 D) main 函数可以放在 C 程序的中间部分,但在执行 C 程序时是从 main 函数 开始的 参考答案: D收起解析解析:无7(5.0 分)5.0已知 char b[5],*p=b; ,则正确的赋值语句是( ) A) b=“abcd”; B) *b=“abcd”; C) p=“abcd”; D) *p=“abcd”; 参考答案: C收起解析解析:无8(5.0 分)5.0已定义以下函数 fun(int *p) { return *p; } 该函数的返回值是( ) A) 不确定的值 B) 形参 p 中存放的值 C) 形参 p 所指存储单元中的值 D) 形参 p 的地址值 参考答案: D收起解析解析:无9(5.0 分)0已定义 c 为字符型变量,则下列语句中正确的是( ) A) c='97'; B) c="97";c="a"; C)c=97; D)参考答案: D收起解析解析:无10(5.0 分)5.0以下不合法的赋值语句是( ) A) x=(1,y=2);++x; B) C) x=y=15; D) y=int(x);参考答案: B收起解析解析:无11(5.0 分)5.0下述语句的输出为( ) int m=-1; printf(“%d,%u,%o”,m,m,m); A) -1,-1,-11 B) -1,32767,-177777 C) -1,32768,177777 D) -1,65535,177777 参考答案: D收起解析解析:无12(5.0 分)5.0已知 char ch=‘A’,且表达式:ch=(ch>=‘A’&&ch<=‘Z’)?(ch 32):ch, 该表达式的值是( ) A) A B) a C) z D) Z 参考答案: B收起解析 解析:无13(5.0 分)5.0下列数组定义及赋值不正确的是( ) A) int a[10]={0,1,2,3,4,5,6,7,8,9}; B) int a[ ]={0,1,2,3,4,5,6,7,8,9}; C) int a[2][5]= {0,1,2,3,4,5,6,7,8,9}; D) int a[2][ ]= {0,1,2,3,4,5,6,7,8,9}; 参考答案: D收起解析 解析:无14(5.0 分)5.0已知 char ch='A'; 且表达式 ch=(ch>='A' && ch<='Z') ?(ch 32) ::ch 的值是( )A a Z 出错 A) B) C) D)参考答案: B收起解析解析:无15(5.0 分)5.0以下程序中,while 循环的循环次数是( ) A) 1 B) 10 C) 6 D) 死循环,不能确定次数 参考答案: D收起解析解析:无16(5.0 分)5.0已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组 a 的第一维的大小是 () A) 2 B) 3 C) 4 D) 无法确定; 参考答案: C收起解析解析:无17(5.0 分)5.0下面不是 C 语言基本数据类型的是( ) A) 指针类型整型 B) C) 无符号长整型 D) 单精度型参考答案: A收起解析解析:无18(5.0 分)5.0已知小写字母的 ASCII 码为 97,对于 int a=99, b='b'; printf(“%c,%d”, a , b);的结果是( )99, b A)c, 98 B) C) 99, 98c, b D)参考答案: B收起解析解析:无19(5.0 分)5.0以下不能正确定义二维数组的选项是( ) A) int a[2][2]={{1},{2}} B) int a[][2]={l,2,3,4} C) int a[2][2]={{l},2,3} D) int a[2][]={{1,2},{3,4}} 参考答案: D收起解析解析:无20(5.0 分)5.0已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量 a 的值为( ) A) 0 B) 1 C) 4 D) 5 参考答案: A收起解析 解析:无。
C语言试题及答案解析(三)
C语言试题及答案解析(三)班级姓名学号____________一.选择题(20分):1. 判断下面标识符中哪个是C语言中合法的用户定义标识符:A. a-bB. #abdC. typedefD. _max2. ‘b’在内存中占个字节,“B”在内存中占个字节。
A. 1B. 2C. 3D. 43. 下列表达式的值哪些不等于0?A. 2>>1B. ~a&aC. 1>5D. a^a4. 设有一分段函数:x=1 a<b且c=dx=2 a>=b则下列程序段哪个是正确的?A. if(a<b)B. if (a<b)C. if (a>b)D. if (a>=b)If(c==d) {if (c==d) if (c==d) x=2;x=1; x=1; x=1; elseelse x=2; else x=2;} else x=2; {if(c==d) x=1;}5. 下列关于switch和break语句的讨论中,只有是正确的。
A. break语句是switch 语句的一部分B.在switch语句中可以根据需要使用或不使用break语句C. switch语句中必须使用break语句D.以上三种说法都不正确。
6. 若有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是:。
A. x数组和y数组长度相同B.x数组长度大于y数组长度C.x数组长度小于y数组长度D.以上三种说法均错误。
7. 返回值为void的函数,其含义是:A. 调用函数之后,被调用的函数没有返回值;B. 调用函数之后,被调用的函数不返回C. 调用函数之后,被调用的函数返回值为任意类型D. 以上三种说法均不正确。
8. C语言中函数的隐含存储类别是,在一个C源程序文件中,若要定义一个只允许在本源文件中所有函数使用的全局变量,则变量需要使用的存储类别是。
大学计算机C语言期末模拟考试三
大学计算机C语言期末模拟考试考题类型:单选题 总分:70.0 共55题[不包含随机题]1. (本题分值:1.0)C语言的基本单位是A.函数B.源程序C.语句D.程序行参考答案:A所属章节:C语言概述考题难度:1考题序号:2命题教师:北京化工大学 信息科学与技术学院 夏涛2. (本题分值:1.0)在C程序中,main()函数的位置是A.必须作为第一个函数;B.必须作为最后一个函数;C.可以任意;D.必须放在它所调用的函数之后;参考答案:C所属章节:C语言概述考题难度:1考题序号:6命题教师:北京化工大学 信息科学与技术学院 夏涛3. (本题分值:1.0)以下不正确的C语言标识符是A.intB.a_1_2C.ab1exeD._x参考答案:A所属章节:C语言概述考题难度:1考题序号:201命题教师:北京化工大学 信息科学与技术学院 夏涛4. (本题分值:1.0)以下叙述中正确的是A.C语言程序中注释部分可以出现在程序中任意合适的地方B.花括号“{”和“}”只能作为函数体的定界符C.构成C语言程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语言语句之间的分隔符,不是语句的一部分参考答案:A所属章节:C语言概述考题难度:1考题序号:1912命题教师:长沙理工大学 计算机与通信工程学院 左利芳5. (本题分值:1.0)一个C程序的执行是从A.本程序的main 函数开始,到main函数结束B.本程序文件中的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main 函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束参考答案:A所属章节:C语言概述考题难度:1考题序号:1982命题教师:长沙理工大学 计算机与通信工程学院 左利芳6. (本题分值:1.0)C语言中最简单的数据类型包括A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型参考答案:B所属章节:数据类型、运算符与表达式考题难度:1考题序号:1312命题教师:北京化工大学 信息科学与技术学院 夏涛7. (本题分值:1.0)以下选项中正确的定义语句是A.double a;b;B.double a=b=7;C.double a=7,b=7;D.double,a,b;参考答案:C所属章节:数据类型、运算符与表达式考题难度:1考题序号:1512命题教师:北京化工大学 信息科学与技术学院 夏涛8. (本题分值:1.0)下列不正确的转义字符是A.'\\B.'\"'C.'\074'D.'\0'参考答案:A所属章节:数据类型、运算符与表达式考题难度:1考题序号:1170命题教师:北京化工大学 信息科学与技术学院 夏涛9. (本题分值:1.0)在C语言中,有表达式 x=abs(8-10), 则x的值为( )A.-2B.2C.18D.80参考答案:B所属章节:数据类型、运算符与表达式考题难度:1考题序号:1605命题教师:湖南人文科技学院 计算机科学技术系 朱素英10. (本题分值:1.0)设有说明语句:char a=’\72’;则变量aA.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法参考答案:A所属章节:数据类型、运算符与表达式考题难度:1考题序号:995命题教师:北京化工大学 信息科学与技术学院 夏涛11. (本题分值:2.0)设以下变量均为int类型,则值不等于7的表达式是( )A.(x=y=6,x+y,x+1)B.(x=6,x+1,y=6,x+y)C.(x=y=6,x+y,y+1)D.(y=6,y+1,x=y,x+1)参考答案:B所属章节:数据类型、运算符与表达式考题难度:2考题序号:280命题教师:北京化工大学 信息科学与技术学院 夏涛12. (本题分值:2.0)已知字母A的ascii码值为十进制65,且c2为字符型,则执行语句c2=’a’+’6’-‘3’;后,c2中的值是( )A.dB.68C.cD.不确定的值参考答案:A所属章节:数据类型、运算符与表达式考题难度:2考题序号:286命题教师:北京化工大学 信息科学与技术学院 夏涛13. (本题分值:2.0)设x为int型变量,则执行以下语句后,x的值为( )。
计算机等级考试二级C语言超级经典例题及答案
计算机等级考试二级C语言超级经典400道题及答案1、C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符、C、12、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、13、C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、14、C语言中可处理的文件类型是( ) A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、15、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数、C、16、C语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char、B、17、C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *、A、18、C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型、D、19、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。
A、该数组的长度。
B、该数组的元素个数。
C、该数组中各元素的值。
D、该数组的首地址。
、D、110、C语言中数组下标的下限是________。
A、1 B、0 C、视具体情况 D、无固定下限、B、111、C语言中提供的合法关键字是____ A、swith B、cher C、case D、default、D、112、C语言中文件的存取方式是________。
计算机二级C语言教程章节测试 字符串
C语言章节测试:字符串一、选择题(1)若有语句:char *line[5];,以下叙述中正确的是A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(2)有以下程序#include <string.h>main(){ char p[]={'a', 'b', 'c'}, q[10]={'a', 'b', 'c'};printf("%d %d\n", strlen(p), strlen(q));}以下叙述中正确的是A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3 B)由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3 C)由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3 D)由于p和q数组中都没有字符串结束符,故长度都不能确定(3)有以下程序,其中函数f的功能是将多个字符串按字典顺序排序#include <string.h>void f(char *p[], int n){ char *t; int i,j;for(i=0; i<n-1; i++)for(j=i+1; j<n; j++)if(strcmp(p[i],p[j])>0){ t=p[i]; p[i]=p[j]; p[j]=t; }}main(){ char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"};f(p, 5);printf("%d\n", strlen(p[1]));}程序运行后的输出结果是A)2 B)3 C)6 D)4(4)有定义语句: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);(5)以下能正确定义一维数组的选项是_____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";(6)已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是_____ A)数组a和b的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对(7)以下语句或语句组中,能正确进行字符串赋值的是A)char *sp; *sp="right!";B)char s[10]; s="right!";C)char s[10]; *s="right!";D)char *sp="right!";(8)有以下程序main(){char s[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序运行后的输出结果是A)15B)16C)12D)59(9)有以下函数fun(char *a,char *b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){ a++; b++;}return (*a-*b);}该函数的功能是A)计算a和b所指字符串的长度之差B)将b所指字符串复制到a所指字符串中C)将b所指字符串连接到a所指字符串后面D)比较a和b所指字符串的大小(10)有以下程序point(char *p){p+=3;}main(){ char b[4]={'a','b','c','d'},*p=b;point(p); printf("%c\n",*p);}程序运行后的输出结果是A)aB)bC)cD)d(11)s12和s2已正确定义并分别指向两个字符串。
C语言选择、填空、判断题
一、单项选择题(17道小题,共20分)1、以下叙述中正确的是( C )。
(1分)A、 C语言比其他语言高级B、 C语言可以不用编译就能被计算机识别执行C、 C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D、 C语言出现的最晚,具有其他语言的一切优点2、以下说法正确的是( C )。
(1分)A、C语言程序总是从第一个函数开始执行B、在C语言程序中,要调用函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分3、下列可用于C语言用户标识符的一组是( B )。
(1分)A、 void define WORDB、 a3_b3 _123 CarC、 For abc caseD、 2a DO sizeof4、设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是( C ) 。
(1分)A、2B、-1C、0D、15、以下关于循环体的描述中,( C )是错误的。
(2分)A、循环体中可以出现break语句B、循环体中还可以出现循环语句C、循环体中不能出现continue语句D、循环体中可以出现switch语句6、While(x)中的x相当于( D )。
(2分)A、x==0B、x==1C、x!=1D、x!=07、以下关于switch语句和break描述中 , ( A ) 是正确的。
(2分)A、在switch语句中,可以根据需要使用或不使用break语句B、switch语句中必须用break语句C、break语句只能用于switch语句D、break语句是switch语句必须的一部分8、以下对C语言函数的有关描述中,正确的是( B )。
(1分)A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C函数既可以嵌套调用又可以递归调用C、函数必须有返回值,否则不能使用函数D、C程序中有调用关系的所有函数必须放在同一个源程序文件中、9、在下面的函数声明中,存在着语法错误的是( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.为了判断两个字符串s1和s2是否相等,应当使用_______________ A)if(s1==s2) B)if(s1=s2)
C)if(strcpy(s1,s2)) D)if(strcmp(s1,s2)==0)
10.C 语言对嵌套if 语句的规定是:else 总是与______________配对 A)其之前的if B)第一个if
C)缩进位置相同的if D)其之前最近的且尚未配对的if 11.表达式“x==0&&y!=0||x!=0&&y==0”等价于____________。
A) x*y==0&&x+y!=0 B) x*y==0&&(x+y==0) C) x==0||y==0 D) x*y=0||x+y=0 12.以下错误的描述是_____________
A)使用while 和do-while 循环时,循环变量初始化的操作应在循环语句之前完成 B)while 循环是先判断表达式,后执行循环体语句
C)do-while 和for 循环均是先执行循环体语句,后判断表达式 D)for 、while 和do-while 循环中的循环体均可以由空语句构成 13.以下说法中正确的是__________________ A)C 语言程序总是从第一个定义的函数开始执行
B)在C 语言程序中,要调用的函数必须在main()函数中定义 C)C 语言程序总是从main()函数开始执行
D)C 语言程序中的main()函数必须放在程序的开始部分 14.以下程序执行后输出的值是___________。
main( ) {
int i , sum=0;
for(i=1;i<4;i++) sum*=i ; printf(“%d,%d\n”,sum ,i); }
A) 6 ,3 B) 6 ,4 C) 0 ,3 D )0 ,4 15.已知: int a[3][4]={0};则下面正确的叙述是 ______ A)只有元素a[0][0]可得到初值0 B)此说明语句是错误的
C)数组a 中每个元素都可得到初值,但其值不一定为0 D)数组a 中每个元素均可得到初值0
16.下面关于字符串的说明中,错误的是_____________
A)char str[7]="FORTRAN";
B)char str[ ]="FORTRAN";
C) char str[8]="FORTRAN";
D)char str[ ]={’F’,’O’,’R’,’T’,’R’,’A’,’N’,’\0’};
17.定义如下变量和数组,则下面程序段落的输出结果是_______。
int i; int x[3][3]={0,1,2,3,4,5,6,7,8};
for (i=0;i<3;i++)
printf (“%d ”,x[i][2-i]);
A)2 4 6 B) 0 3 6 C)0 4 8 D)2 5 8
18.已知:int*p,a;则语句“p=&a;”中的运算符“&”的含义是 _________ A)位与运算 B)逻辑与运算 C)取指针内容 D)取变量地址
19.已知:char str[]=”0K!”;对指针变量ps的说明和初始化是______________ A)char ps=str; B)char *ps=str; C)char ps=&str; D)char *pa=&str;20.已知:
struct
{ int i;
char c:
float a:}test;
则test类型占有内存空间的字节数为_____________
A)4 B)5 C)6 D)7
21.已知:
struct sk
{ int a; float b;
}data,*p;
若有p=&data,则对data中的成员a的正确引用是______________
A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a
22.执行循环语句:for(k=1;k<4;k++);后,变量k的值为___________
A) 3 B) 4 C) 5 D)不定
23.下列程序运行结果是______。
#define A 2
#define AA A/2
void main(void)
五、编程题(共15分,第1题7分,第2题8分)得分:
1.使用选择法对10个整数按照由小到大的顺序进行排序,要求这10个函数用scanf 函数输入。
2.编写一个3×5矩阵的转置程序,并利用新的数组存放转置后的矩阵。
共 2 页 { k=a[i];a[i]=a[j];a[j]=k;}
printf("排序后的数组元素的值:\n");
for (i=0;i<10;i++)
printf("%d ",a[i]);
}
2.编写一个3×5矩阵的转置程序,并利用新的数组存放转置后的矩阵。
#include<stdio.h>
main()
{
int a[3][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
int i,j,t,b[5][3];
for(i=0;i<3;i++)
{ for(j=0;j<5;j++) printf("%2d ",a[i][j]);
printf("\n");
}
printf("\n");
for(i=0;i<3;i++) /*行、列互换*/
for(j=0;j<5;j++)
{b[j][i]=a[i][j] ;}
for(i=0;i<3;i++)
{ for(j=0;j<5;j++) printf("%d ",num[i][j]);
printf("\n");
}
}。