若有以下说明语句
电子科大11春学期《C语言》在线作业2
B. printf(“%c\n”,class[3].name[1]);
C. printf(“%c\n”,class[2].name[1]);
D. printf(“%c\n”,clsaa[2].name[0]);
答案:D
11.若有说明: char *language[ ]={"F0RTRAN","BASIC","PASCAL", "JAVA","C"};则language[2]的值是( )
答案:D
19.若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为( )
A. 7
B. 8
C. 9
D. 10
答案:A
20.变量的指针,其含义是指该变量的 ( )
A. 值
B. 地址
C. 名
D. 一个标志
答案:B
21.以下正确的说法是( ) 如果在一个函数中的复合语句中定义了一个变量,则该变量
A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C. 在do~while循环体中,一定要有能使while后表达式值 变为零("假")的操作
D. do~while循环中,根据情况可以省略while
D. p=1.0;for(k=n;k>=1;k--) p*=k--;
2022年北京科技大学公共课《C语言》科目期末试卷B(有答案)
2022年北京科技大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、在C语言源程序中,一个变量代表【】。
4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、C语言中的标识符可分为关键字、_______和_______3类。
6、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
Double x=2.5,y=6.4,z;SWAP(_______);9、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。
(每个程序行前面的数字代表行号。
)1 int main()2 {int b[10]={1,3,5,7,9,2,4,6,8,10},k;3 for(k=0;k<10;k++,b++)4 printf("%4d",*b);5 return0;6 }二、选择题11、下面4个选项中,是合法浮点数的选项是。
C++程序设计面向过程习题
《Visual C++ 程序设计基础》练习题第一部分面向过程程序设计南通大学计算机科学与技术学院2006年3月第一章VC++语言的基础知识和简单的语句1.C++语言程序由〖C〗组成。
A)子程序B)过程C)函数D)主程序和子程序2.以下各标识符中,合法的用户标识符组为〖D〗。
A)PAd,P#d,b-b,abc,_0123,ssipedB)cin,a10,CPP,float,del_word,signedC)void,max,hiy,<fr>,list,*jerD)a,temp,_isw,INT,keep,wind3.在VC++中,char类型数据占〖A〗个字节,int类型数据占〖C〗个字节,short类型数据占〖B〗个字节,long类型数据占〖C〗个字节,float类型数据占〖C〗个字节,double类型数据占〖D〗个字节。
A)1 B)2 C)4 D)84.以下语句〖B〗。
int a=-2L; cout << a << endl;A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为25.在VC++中,以下语句的输出为〖D〗。
short int k=-1;cout << k << ',' << (unsigned short)k <<endl;A)-1,-1 B)-1,32767 C)-1,32768 D)-1,655356.若有以下说明语句,则该语句〖B〗。
char s='\092';A)使s的值包含1个字符B)说明不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符7.若a,b均为int型变量,为了将10赋给a,将20赋给b,则对应以下cin语句的正确输入方式为〖B〗。
(<CR>代表回车换行,_代表空格)。
cin >> a >> b;A)1020<CR> B)10_20<CR> C)10,20<CR> D)20_10<CR>8.以下语句的输出为〖D〗。
计算机程序设计基础习题册(含答案)
《计算机程序设计基础》习题册计算机程序设计基础_基础知识(一)班级学号姓名成绩一、单选题1.C++源程序文件的默认扩展名为A。
A) cpp B) exeC) obj D) lik2.由C++源程序文件编译而成的目标文件的默认扩展名为C。
A) cpp B) exeC) obj D) lik3.由C++目标文件连接而成的可执行文件的默认扩展名为B。
A) cpp B) exeC) obj D) lik4.编写C++程序一般需经过的几个步骤依次是B。
A)编译、编辑、连接、调试B)编辑、编译、连接、调试C)编译、调试、编辑、连接D)编辑、调试、编辑、连接5.程序中主函数的名字为 A 。
A) main B) MAINC) Main D) 任意标识符6.下面四个选项中,均是不合法的用户标识符的选项的是C。
A) A p_o doB)float lao _AC)b-a goto intD)_123 temp INT7.下列变量名中合法的是C。
A) B)C)Tom B) 3a66C) _6a7b D) $ABC8.存储以下数据,占用存储字节最多的是D 。
A) 0 B) ‘0’C) “0” D) 0.09.在C++语言中,字符型数据在内存中的存储形式是D。
A) 补码 B) 反码C) 原码 D) ASCII码10.若有说明语句:char c =’\072’;则变量c A。
A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,变量的值不确定二、填空题1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。
2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。
3.一条表达式语句必须以__分号_;___作为结束符。
4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。
5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令计算机程序设计基础_基础知识(二)班级 学号 姓名 成绩一、 单选题1. 下列哪一个是C++语言中合法的变量 CA) 8ZSe B) ±A0C) X0_2 D) ’x0’2. 已知ch 是字符型变量,下面不正确的赋值语句是 A A) ch='a+b' B) ch='\0'C) ch='7'+'9' D) ch=5+93. 下列浮点数的表示中不正确的是▁C ▁▁A) 223. B) 719E22C) e23 D) 12e24. 下列不正确的转义字符是 ▁C ▁▁A)'\\' B)‘\"’C) '074' D) '\0'5. 在C 语言中,合法的字符常量是 ▁B ▁▁A)'\084' B)'\x43'C)'ab' D)"\0"6. 下列变量定义中合法的是▁A ▁▁A) double _a=1.le-1; B) double b=1+5e2.5;C) double do= 2e3D) double 2_and=1-e-3; 7. 已知ch 是字符变量,正确的赋值语句是▁B ▁A )ch=‘123’ B)ch=’\xff’C) ch =’\08’ D)ch =”\” 8. 若x 、i 、j 和k 都是int 型变量,则计算表达式x=(i=4,j=15,k=32 )后,x 的值为▁▁C ▁。
二级C语言笔试-297_真题-无答案
二级C语言笔试-297(总分82,考试时间90分钟)一、选择题1. 设有以下定义和语句:int a[3] [2]=1,2,3,4,5,6, * p[3];p[0] =a[1];则.(P[0]+1)所代表的数组元素是( )。
A. a[0][1]B. a[1][0]C. s[1][1]D. a[1][2]2. 下列选项中,不能用作标识符的是( )。
A. _1234_B. _1_2C. int_2_D. 2_int_3. 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请填空。
#include <stdlib.h>stuct nodechar data; struet node * next; ;stntct node * CreatList(char * s)struet node *h,*p,*q;h = (struct node * ) malloc(sizeof(struct node) );p=q=h;while( * s! ='\0')p = (struct node *) malloc ( sizeof(struct node) );p - >data = ( )q- >next=p;q=p;a++;p- >next ='\0';return h;main( )char str[ ]= "link list";struet node * head;head = CreatList(str);A. *sB. sC. *s++D. (*s)++4. 下列条件语句中,功能与其他语句不同的是( )。
A. if(a) printf("%d \n" ,x); else printf("% d \n" ,y);B. if(a ==0) printf( "% d \n" ,y); else printf( "% d \n" ,x);C. if (a! =0) printf("%d \n",x); else printf("%d \n",y); ,D. if(a==O) printf("%d \n",x); else printf("%d \n",y);5. 以下能正确定义二维数组的是( )。
2022年泰山科技学院公共课《C语言》科目期末试卷B(有答案)
2022年泰山科技学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。
5、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
6、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、下面程序段的运行结果是_______。
int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);9、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
10、定义语句int*f();int(*f)();的含义分别为_______和_______。
二、选择题11、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
A.intB.floatC.doubleD.不确定12、若有说明语句:charc='\72';则变量c( )。
A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定13、一个C语言程序由( )。
德州学院二级C语言期末复习题
C语言练习题一、单项选择题1.以下选项中合法的标示符是()A.1_1B.1-1C._11D. 1_ _2.若有以下类型说明语句:char a; int b; float c; short int d;则表达式(c*b+a)*d的结果类型是()。
A.charB.intC.doubleD.float3.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为()。
A.算术运算、赋值运算、关系运算B.关系运算、赋值运算、算术运算C.算术运算、关系运算、赋值运算D.关系运算、算术运算、赋值运算4.多重if_else语句嵌套使用时,寻找与else配套的if方法是( )。
A.缩排位置相同的ifB.其上最近的ifC.下面最近的ifD.同行上的if5.有以下程序,其运行后的输出结果是()。
main(){int x=1,y=2;x=x+y,y=x-y; x=x-y;printf("x=%d,y=%d \n",z);}A. 1 2B. 1,2C. 0,1D. 2,1 6.有以下程序,其中%u表示按无符号整数输出main(){unsigned short x=0xFFFF;printf("%u\n",x);}程序运行后的输出结果是()。
A.-1B.65535C.32767D.0xFFFF 7.以下合法的c语言语句是( B )。
A. x=int(x+0.5);B. ++k;C. a=b=0D. a=1,8.下面有关for循环的正确描述是( D ) 。
A. for循环只能用于循环次数已经确定的情况。
B. for循环是先执行循环体语句,后判断表达式。
C. 在for循环中,不能用break语句跳出循环体。
D. for循环的循环体语句,可以包含多条语句,但必须用花括号括起来。
9.有以下程序,其运行后的输出结果是( C )。
main(){int x=1,y=2,z;z= x/y;printf("%d\n",z);}A. 1/2B. 0.5C. 0D. 110.下列对字符串的操作正确的是( C)。
c++理论题
1. True False2. TrueFalse3. True False4. True False5. True False6. True False7. True False8. True False9. True False10. TrueFalse11. TrueFalse12. TrueFalse13. TrueFalse14. TrueFalse15. TrueFalse16. TrueFalse17. TrueFalse18. TrueFalse19. TrueFalse20. TrueFalse选择题(2分A. 0.123B. 123e3C. 2.1e3.5D. 789.0(2分A. 2.500000B. 2.750000C. 3.500000D. 0.000000(2分A. int B. float C. double D. 不确定(2分A. 使s 的值包含1个字符 B. 说明不合法,s 的值不确定 C. 使s 的值包含4个字符 D. 使s 的值包含3个字符(2分A. a:= b+1B. a=b=c+2C. int 18.5%3D. a=a+7=c+b(2分A. trueB. 大于0的数C. 非0整数D. 非0的数(2分A. void, define, WORDB. a3_b3,_123,CarC. For, -abc, IFCase D. 2a, DO, sizeof(2分A. 0<=x<100B. i=j==0C. (char)(65+3)D. x+1=x+1(2分A. 本程序的main函数开始,到本程序的main函数结束B. 本程序的main函数开始,到本程序的最后一个函数结束C. 本程序的第一个函数开始,到本程序的main函数结束D. 本程序的第一个函数开始,到本程序的最后一个函数结束(2分A. 将y的值四舍五入为整数后赋给xB. 将y的整数部分赋给xC. 该语句执行后x与y相等D. 将x的值转换为实数后赋给y(2分A. 160 -0xff 011B. 123.5 01a 0xeC. -01 1,986,012 0663D. -2e3.2 0.234 1e0(2分A. 160. 0.12 e3B. 123.5 2e-4 123.C. -0.18 2e 0e1D. 2e3.20.234 1e0(2分A. '\' '\\' '\n'B. '\\' '\017' '\n'C. '\018' '\f' 'xab'D. '\\0' '\101' 'x1f'(2分A. ,B. 空格键C. Enter键D. Tab键(2分A. 10, 9B. 9, 10C. 10, 10D. 9, 9(2分A. 18B. 16C. 14D. 13(2分A. (double) xB. double(x)C. (double) (x)D. x (double)(2分A. z=(x+y)++B. x+y=zC. y=ch+xD. y=z%x(2分A. char A; //定义了字符型变量AB. int x=2; //定义了x整型变量,其中,x的初值为2C. 如给整型变量j赋初值2004,可写成:int j(2004);D. 变量名中可以包含特殊符号。
C语言程序设计试题_练习题
C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。
A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。
A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是()。
A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。
A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。
A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。
A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
C语言程序设计考题(选择题及答案)
C语言程序设计考题(选择题及答案)1)计算表达式:x=(i=4,j=10,k=24)后,x的值为:A. 24B. 38C. 4D. 103)以下哪条语句只能出现在循环结构中,而不能单独出现:A. ifB.gotoC.returnD.continue6)把x,y定义成float类型,并赋同一初值3.14,正确的是:A. float x,y=3.14;B. float x,y=2*3.14;C. float x=y=3.14;D. float x=3.14,y=x;7)若变量已正确定义并赋值,以下哪个表达式不符合C语言语法:A. 3.14%2B. 2,bC. a*b/cD. a/b/c8)以下哪个是不正确的字符常量:A. ‘n’B.’\101’C.’\n’D. “a”9)若有以下说明语句,则对st中成员score的正确引用是struct student{char num[8];int score;} st, *p=&st;A. *p.scoreB. p.scoreC. p->scoreD. *p->score10)若有int i;,则以下循环的执行次数是:for (i=2;i==0;) printf("%d",i);A. 1次B.无限循环C.0次D. 2次11)下列的哪个不是C语言的关键字:A. printfB.switchC.shileD. break12)设有定义char s[20]="hi,HanWeiXYi",*ps=s;;请选出不能正确引用字母a的表达式A. ps[4+1]B.s[4]C.*(ps+=4)D. *(ps+4)13)语句“while(!x)…”等价于A. while(x!=0)B.while(x==1)C.while(x==0)D. while(x!=1)14)下列位运算符中,异或运算的运算符是:A. ^B.~C.|D.&&15)设有下列变量说明与函数说明,则合法的函数调用语句是: int fumc( char s[] );char str[80]; int n;A. n=fumc(str)B. n=fumc(s)C. n=fumc(s[])D. n=fumc(str[80])16)分析以下函数,该函数的功能是:void prt_to_file(int a[],int n,char fn[]){FILE *fp; int i;fp=fopen(fn,"w");for (i=0;i<n;i++)fprintf(fp,"%d ",a[i]);fclose(fp);}A. 打开文件fn,从文件中读出n个整数到数组A中B. 打开文件fn,从文件中读出n,再读出n个整数到数组A中C. 打开文件fn,将数组a的n个元素写到文件中D. 打开文件fn,将n和数组a的n个元素依次写到文件中。
C语言程序设计题库
一、选择题(每题1分,共20分)1.C语言程序从main()函数开始执行,所以这个函数要写在( D )。
A.程序文件的开始 B.程序文件的最后C.它所调用的函数的前面 D.程序文件的任何位置2.下列方法中错误的是( D )。
A.主函数可以分为两个部分:主函数说明部分和主函数体。
B.主函数可以调用任何非主函数的其它函数。
C.任何非主函数可以调用其它任何非主函数。
D.程序可以从任何非主函数开始执行。
3.下列正确的标识符是( C )。
A.-a1 B.a[i] C.a2_i D.int t4.C语言中的简单数据类型包括( D )。
A.整型、实型、逻辑型 B.整型、实型、逻辑型、字符型C.整型、字符型、逻辑型 D.整型、实型、字符型5.下列可以正确表示字符型常量的是( A )。
A.’\t’ B.”a” C.”\n” D.2976.在C语言中,字符型数据所占的内存空间是( C )。
A.2个字节 B.4字节 C.1字节 D.由用户自定义7.若int类型数据占2个字节,则unsigned int类型数据的取值范围是( B )。
A.0~255 B.0~65535 C.-32768~32767 D.-256~2558.若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为( D )。
A.float B.char C.int D.double9.下列正确的预编译命令是( D )。
A.define PI 3.14159B.#define P(a,b)=strcpy(a,b)C.#define stdio.hD.#define PI 3.1415910.为表示逻辑表达式79<X<90,应使用的C语言表达式是( A )。
A.( X>79 )&&( X<90 ) B.( X>79 )!=( X<90 )C.79<X<90 D.(X>79 )||( X<90 )11.设有语句“int a=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是( A )。
C语言模拟习题
7.程序段如下
int k=0;
while(k++<=2); printf("last=%d\n",k);
则执行结果是last= 。
printf(“%d”,a[i]);
}
四、写出下面程序的执行结果(本大题24分,每小题4分)
1.#include<stdio.h>
main( )
{ char c=‘A’+‘10’-‘5’;
printf(“c=%c\n”,c); }
2.#include<stdio.h>
printf(“\n”);
for (j=1;j<=9;j++)
for(i=1; _(1)_____)
{t=a[i]; a[i]=a[i+1]; __(3)__ ;}
printf(“the sorted numbers: \n”);
for ( i=1; i<11; i++)
if(__(3)___) printf(“%d\n”, m); } }
2.. 用起泡法对十个数由大到小排序。
main( )
{ int a[11], i, j, t;
printf(“input 10 numbers: \n”);
for(i=1;i<11;i++)
scanf(“%d”,&a[i]);
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
C试题
一、单项选择1.以下叙述不正确的是A.一个C程序可由一个或多个函数构成B.一个C程序必须包含一个main函数C.C程序中,main函数必须位于其它函数之前D.一个C程序可由多个源程序文件组成2.选出合法的C语言常量A.0x12hB.“student’s book”C. 1.2e0.5D.‘%%’3.对于如下数据定义:int a; long b;如果要输入a和b的值,正确的scanf调用是A. scanf("a=%db=%d",*a,*b);B. scanf("a=%db=%d",&a,&b);C. scanf("a=%db=%ld",&a,&b);D. scanf("a=b=%d",&a);4.为避免嵌套的条件语句if-else的二义性,C语言规定:else只与配对A.其之前最近且尚未配对的ifB.缩排位置相同的ifC. 其之后最近的ifD.同一行上的if5.以下对二维数组a的正确说明是A.int a[2][ ]={{1,2,3},{4,5,6}};B.int a[ ][3]={{1,2,3},{4,5}};C.int a[2][3]={{1,2,3},{4},{5,6}};D.int a[ ][3]={{1,2,3,4},{5,6}};6.函数调用时,A.实参传递值给形参,形参传递值给实参;B.实参和形参为简单变量时,各占一个独立的存储单元C.实参和形参共用一个存储单元D.当实参和形参同名时二者共用一个存储单元7.C语言程序的三种基本结构是A.递归结构,循环结构,转移结构B.顺序结构,选择结构,循环结构C.嵌套结构,递归结构,顺序结构D.循环结构,转移结构,顺序结构8.若有以下说明:struct person{ char name[20];int age;} a={"Li", 20}, *p=&a;则对printf( )函数调用正确是A. printf(“%s\n”,(*p).name[0])B. printf( “%s\n”, p .name[0]);C.printf(“%s\n”, p->name[0]);D. printf(“%c\n”, p->name[0]);9.选出在任何情况下都不引起二义性的定义A. #define POWER(x) x*x;B. #define POWER(x) (x)*(x);C. #define POWER(x) (x*x);D. #define POWER(x) ((x)*(x));10.若有以下说明语句,则char s[]=”abc\0278ef\””;A.数组s的长度为12;B.说明不合法,数组s的长度不确定;C.数组s的长度为9;D.数组s的长度为8;11.若整型变量a=10,b=4,c=2,则表达式!(a>b,b<c,a>c)的值为 AA.0B. 1C.10D. 212.已知:char a; int b; float c; double d;则表达式a*b+c-d 的结果为 A 型A.doubleB.intC.floatD.char13.关于switch语句的正确说法是 BA.各case分支的最后一条语句必须是break语句B.case后的表达式必须为常量表达式C.必须有default分支D.case后的表达式的值必须按升序或降序排列14.若有以下对数组的声明,正确的是: CA. int n=10; char s[n];B. char s[ ];C. #define n 10D. int n=8;char s[n]; char s[n+2];15.对于C程序的函数,下列叙述中正确的是 AA.函数的定义不能嵌套,但函数的调用可以嵌套B.函数的定义可以嵌套,但函数的调用不能嵌套C.函数的定义和调用均不能嵌套D.函数的定义和调用均可嵌套16.已知int aa[3][4],(*p)[4],以下语句的正确形式为 CA.p=aa[2];B.p=aa[2][0];C.p=aa+2;D.p=&aa[2][0];17.已知:char str1[20],*str2;则下列语句正确的是: DA.str1=”I’ m happy!”; B.str2=”I’m happy!”;C. scanf(“%s”,str2);D. scanf(“%s”,str1);19.条件编译的基本形式为:#XXX 标识符程序段1#else程序段2#endif这里XXX可以是 AA.ifdef或ifndef或ifB.ifdef或includeC.ifdef或ifndef或defineD.define或include20.已知函数的原型为:float cos(float x);则指向它的指针变量为___D___A.float *p(int x);B. float *p( float x);C. float (*p)(float x, float y);D. float (*p)(float x);二、阅读理解1.int i=5;int f(x) 2. #include<stdio.h>{ main( )int y; {static char str[]=”how old are you!”;y=x*i; char *p;return y; int i; p=str;} for(i=0;str[i]!=’\0’;i++)main( ) if(str[i]!=’o’&&str[i]!=’’ ){ *p++=str[i];int i; *p=str[i];for(i=1;i<=4;i++) puts(str);printf(“%d ”,f(i)); }}运行结果为:_ 运行结果为:________3.#include<stdio.h>4. #include<stdio.h>void fun(int *p,int n) #define N 5{int *i,*j, s; void main( )i=p;j=p+n-1; { int i, j;while(i<j) for(i=0;i<N; i++){s=*i; { printf(“\n”);*i++=*j; for(j=0; j<N; j++)*j++=s; putchar(i<j? ‘’: ’A’+j-i) } }} }void main( ){int i;int x[]={10,20,30,40,50};fun(x,5);for(i=0;i<5;i++)printf(“%d”,x[i]);}运行结果为:_______ 运行结果为:_ ___________三、改错题1.本程序计算N×N 二维数组全部元素中的最小元素值:行号程序01 #include<stdio.h>02 #define N 403 int fun(int arr[][N])04 main( )05 {06 static int aa[ ][N]={07 {1,2,3,4},{5,6,7,8},08 {-8,-7,-6,-5},{-4,-3,-2,-1}};09 int min;10 min=fun(aa[0][0]);11 printf(“min=%d”,min);12 }13 int fun(int arr[N][N])14 {15 int i,j;16 int m=arr[0][0];17 for(i=1;i<N;i++)18 for(j=0;j<N;j++)19 if(m>arr[i][j])20 m=arr[i][j];21 return m;22 }错误依次为:行号应改为行号应改为2. 本程序计算N×N 二维数组aa每行元素的和,写入到文件A.dat中。
C语言考试题
注:红色字体部分为题目答案,请大家不要弄错!!!一、单项选择题(每空1分,共50分)请将正确答案按【】中的序号写入答题卡,否则不得分。
2.以下标识符中,合法的变量名是【2】。
【2】A)x_1B)3x C)x-1 D)x.y3.判断char 型变量ch 是否为小写字母的正确表达式是【3】。
【3】A) (a<=ch) && (ch<=z) B) ('a'<=ch) && (ch<='z')C) (a<=ch) || (ch<=z) D) ('a'<=ch) || (ch<='z')4.C语言的下列运算符中,运算对象必须是整型数据的是【4】。
【4】A) / B) % C) && D) *5.若有以下说明语句,则该语句【5】。
char s='\062';【5】A) 使s的值包含1个字符B) 使s 的值包含3个字符C) 使s的值包含4个字符D) 说明不合法6.在C 语言中,逻辑“真”用【6】表示。
【6】A) FALSE B) TRUE C) 0 D) 17.不能正确表示的C语言表达式是【7】。
【7】A) a*b/c*d B) a/(c*d)*b C) a*b/c/d D) a*b/(c*d)8.若有定义:int a=7;float x= 2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是【8】。
A)2.500000B)2.750000 C)3.500000 D)0.0000009.执行下列程序段后,变量i的值是【9】。
int i=10;switch (i){case 10: i+=1;case 11: i+=1;case 12: i+=1;case 9: i+=1;}【9】A) 11 B) 12 C) 13 D) 1410.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是【10】。
C语言程序设计题库
一、选择题(每题 1 分,共 20 分)1.C 语言程序从main()函数开始执行,所以这个函数要写在( D )。
A .程序文件的开始B.程序文件的最后C.它所调用的函数的前面 D .程序文件的任何位置2.下列方法中错误的是( D )。
A.主函数可以分为两个部分:主函数说明部分和主函数体。
B.主函数可以调用任何非主函数的其它函数。
C.任何非主函数可以调用其它任何非主函数。
D.程序可以从任何非主函数开始执行。
3.下列正确的标识符是( C )。
A .-a1B. a[i]C.a2_i D . int t4.C 语言中的简单数据类型包括( D )。
A .整型、实型、逻辑型B.整型、实型、逻辑型、字符型C.整型、字符型、逻辑型 D .整型、实型、字符型5.下列可以正确表示字符型常量的是( A )。
A .’\t ’B.”a”C.” \n ” D . 2976.在 C 语言中,字符型数据所占的内存空间是( C )。
A . 2 个字节B. 4 字节C. 1 字节 D .由用户自定义7.若 int 类型数据占 2 个字节 ,则 unsigned int 类型数据的取值范围是( B )。
A . 0~ 255B. 0~ 65535C. -32768~ 32767D. -256~ 2558.若有以下类型说明语句: char a; int b; float c; double d; 则表达式 a*b+d-c 的结果类型为(D)。
A . float B. char C. int D . double9.下列正确的预编译命令是( D )。
A . define PI 3.14159B. #define P(a,b)=strcpy(a,b)C. #define stdio.hD . #define PI 3.1415910.为表示逻辑表达式79<X<90, 应使用的 C 语言表达式是( A )。
A .( X>79 )&&( X<90 )B. ( X>79 )!=( X<90 )C. 79<X<90 D . (X>79 )||( X<90 )11.设有语句“ int a=2,b=3,c=-2,d=2; ”,则逻辑表达式“ a>0&&b&&c<0&&d>0”的值是(A)。
大学C语言考试题库(含答案)
单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
C语言试题公开
A. 3 B )4 C. 5 D.不定
14.执行下面程序段时输出的结果是
int i=5;
switch(i)
{ case 5:
case 6: i+=5;
case 7: break;
case 8: i+=5;
}
printf("i=%d",i)
A. i=5 B. i=10 C. i=15 D. i=20
则数组str得到的值为__ ____________。
4.有以下说明:step是一个有4个实型元素的数组,元素值分别为1.9, -2.33, 0, 20.6。则正确的C语言说明语句为__________________________。
5.调用fopen函数以文本方式打开文本文件aaa.txt如下
FILE *fp=fopen("aaa.txt",____);
printf("%s\n",p->name); //屏幕显示___
printf("%d\n",q[2]); //屏幕显示___
printf("%d\n",*(q+3)); //屏幕显示___
}
4.读懂源程序,并写出正确结果。
f(int a)
{auto b=0;
static c=3;
b=b+1;
c=c+1;
return(a+b+c);
}
main()
{int a=5,i;
for(i=0;i<3;i++)
printf("%d ",f(a) );
}
若有说明语句
若有说明语句以下是十条符合要求的内容:1. 若有说明语句,那可就像黑夜里的一盏明灯啊!比如说,你在黑暗中迷路了,突然看到前方有一束亮光,那是不是瞬间就有了希望?这说明语句不就跟那束光一样嘛!2. 若有说明语句,岂不是像沙漠中的绿洲!就像你在酷热难耐的沙漠中走了好久好久,都快绝望的时候,突然看到了一片绿洲,那心情得多激动呀!说明语句就是这样给我们指引的呀!3. 若有说明语句,不就如同航海中的灯塔嘛!想想看,在茫茫大海上航行,啥都看不清,这时候远方出现一座灯塔,那是多么让人安心的存在呀!说明语句就有这样的作用啊!4. 若有说明语句,那简直就是雪中送炭呀!好比你在冰天雪地中冻得瑟瑟发抖,这时候有人给你送来一堆温暖的炭火,哇,那感觉多棒呀!说明语句就是这样及时呀!5. 若有说明语句,这不就是迷路时的地图嘛!就像你不知道往哪儿走的时候,有一张详细的地图展现在你面前,你能不开心?说明语句就是我们的地图呀!6. 若有说明语句,那可真是太重要啦,就像口渴时的那杯水呀!当你口干舌燥时,一杯清凉的水是多么解渴呀!说明语句就是这样关键呢!7. 若有说明语句,那可是如同救命稻草呀!比如说你掉进水里拼命挣扎,突然抓到了一根稻草,那是不是有了希望?说明语句就是这样给我们希望的呀!8. 若有说明语句,不就像饥饿时的面包嘛!当你饥肠辘辘的时候,一块香喷喷的面包是多么诱人呀!说明语句就是这样满足我们呀!9. 若有说明语句,那就是迷雾中的指南针呀!就像你在迷雾中分不清方向,这时候有个指南针指引你,多好呀!说明语句就是我们的指南针啊!10. 若有说明语句,这绝对是关键时刻的救星呀!好比你在遇到大麻烦时,突然有人来帮你解决,哇,那得多惊喜呀!说明语句就是这样神奇呀!我的观点结论:说明语句真的太重要啦,能在很多时候给我们指引和帮助,就像以上这些例子一样,所以一定要重视说明语句呀!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1、若有以下说明语句:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c=’a’,d,g;
则数值为4的表达式是_________。
A、a[g-c]
B、a[4]
C、a[‘d’-‘c’]
D、a[‘d’-c]
2、假设int型变量占两个字节的存储单元,若有定义:
int x[10]={0,2,4};
则数组x在内存中所占字节数为________。
A、3
B、6
C、10
D、20
3、下列合法的数组定义是________。
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};
4、若给出以下定义:
char x[]=”abcdefg”;
char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};
则正确的叙述为________。
A、数组x和数组y等价
B、数组x和数组y的长度相同
C、数组x的长度大于数组y的长度
D、数组y的长度大于数组x的长度
5、下列程序运行后的输出结果是________。
Main()
{int n[3],t,j,k;
for(t=0;t<3;t++)
n[t]=0;
k=2;
for(t=0;t<k;t++)
for(j=0;j<3;j++)
n[j]=n[t]+1;
printf(“%d\n”,n[1]);}
A、2
B、1
C、0
D、3
6、有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;
while(i<7 && p[i]%2) { k =k+ p[i]; i++; }
printf("%d\n", k);
}
执行后输出结果是________。
A、58
B、56
C、45
D、24
7、以下能正确定义一维数组的选项是________。
A、int num[]; B)#define N 100
int num[N];
C、int num[0..100]; D)int N=100;
int num[N];
8、有以下程序
main( )
{ char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(a),sizeof(b));
}
执行后输出结果是________。
A、7 7
B、8 8
C、8 10
D、10 10
9、若有以下定义语句:
char s[10],s=”abcd”;printf(“%s\n”,s);
则运行结果是_________。
A、输出abcd
B、输出a
C、输出ab cd
D、编译不通过
10、不能把字符串“Hello!”赋给数组b的语句是________。
A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’};
B、char b[10];b=”Hello!”;
C、char b[10]; strcpy(b,”Hello!”);
D、char b[10]=”Hello!”;
二、填空题
1、观察一下程序,在指定行加上注释,并说出程序的执行结果。
main()
{ int i,a[10]; _________
for(i=0;i<10;i++)
{ a[i]=3*i+1; _________
printf(“%5d”,a[i]);
}
printf(“\n”);
for(i=9;i>=0;i--,i--)
{ if(a[i]%2==0) printf(“%5d”,a[i]); _________
}
}
程序结果:________
2、以下程序的输出结果是________。
main()
{ char s[]="abcdef";
s[3]=‘\0';
printf("%s\n",s);
}
3、以下程序的输出结果是________。
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d,%d,%d",a[2],a[5],a[8]);
}
4、下列程序段的输出结果是________。
main()
{ char b[]=”Hello,you”;
b[5]=’\0’;
printf(“%s\n”,b);
}
5、若想通过以下输入语句使a中存放字符串“1234”,b中存放字符“5”,则输入数据的形
式应该是_______。
char a[10],b;
scanf(“a=%s,b=%c”,&a,&b);
三、编写程序
1、写一个函数,将一个整型数x插入到由小到大排列的整型数组a[0]~a[N-1]中,使得插入
元素后的数组a[0]~a[N]保持升序。
2、将两个字符串连接起来(不用strcat)。
3、随机产生N个(N由用户定义)0~9之内的整数,分别统计数字0和9出现的次数。
4、键盘输入某串,求字符ASC码之和。