收藏 分销(赏)

南京信息工程大学C语言题库.doc

上传人:精**** 文档编号:2046427 上传时间:2024-05-14 格式:DOC 页数:135 大小:1.04MB 下载积分:20 金币
下载 相关 举报
南京信息工程大学C语言题库.doc_第1页
第1页 / 共135页
南京信息工程大学C语言题库.doc_第2页
第2页 / 共135页


点击查看更多>>
资源描述
单项选择 ================================================== 题号:13167 以下叙述中正确的是( )。 A、程序设计的任务就是确定所用算法 B、程序设计的任务就是确定所用数据结构 C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试 D、以上三种说法都不完整 答案: D 题号:13162 计算机能直接执行的程序是( )。 A、可执行程序 B、源程序 C、汇编程序 D、目标程序 答案: A 题号:13171 下列叙述中正确的是( )。 A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C、main可作为用户标识符,用以命名任意一个函数作为主函数 D、C语言程序将从源程序中第一个函数开始执行 答案: A 题号:13165 在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的( )。 A、确定性 B、正当性 C、可行性 D、有穷性 答案: A 题号:13164 以下叙述中正确的是( )。 A、用C语言编写的程序只能放在一个程序文件中 B、 C、 D、 答案: D 题号:13169 下列叙述中正确的是( )。 A、在C程序中 main( )函数的位置是固定的 B、每个C程序文件中都必须要有一个main( )函数 C、C程序中所有函数之间都可以相互调用,与函数所处位置无关 D、在C程序的函数中不能定义另一个函数 答案: D 题号:13191 设有以下程序段: int m=0,n=0;char c='a'; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是( )。 A、10,a,9 B、10,A,0 C、10,A,9 D、10,a,0 答案: C 题号:13183 若有以下程序段,其输出结果是( )。 int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf("%d,%d,%d\n"a,b,c); A、 3,3,-10 B、 0,0,5 C、-10,3,-10 D、0,0,-10 答案: B 题号:13189 以下程序段的输出结果是( )。 float a=3.1415; printf("︱%6.0f︱\n",a); A、︱ 3.︱ B、︱3.1415︱ C、︱3.0︱ D、︱ 3︱ 答案: D 题号:13186 设x和y均为int型变量,则语句: x+=y;y=x-y;x-=y 的功能是( )。 A、把x和y按从大到小排列 B、把x和y按从小到大排列 C、交换x和y中的值 D、无确定结果 答案: C 题号:13177 设有定义:int x=10 ;,则表达式"x+(char)1/2.0"值的类型是( )。 A、double B、unsigned C、 float D、int 答案: A 题号:13179 若x和y都是int型变量,且x=10,y=20,则执行printf("%d\n",x,y);语句后,输出的结果是( )。 A、输出格式符不够,输出不确定的值 B、20 C、10 20 D、10 答案: D 题号:13195 以下程序段的运行结果是( )。 int a=-5,b=5; printf(a>b?"a=%d":"b=%d",a,b) A、没有正确的输出格式控制 B、a=-5b=5 C、a=-5 D、b=-5 答案: D 题号:13199 下面的程序,说法正确的是( )。 main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else printf("####"); } A、可以通过编译,但是不能通过连接,因而不能运行 B、有语法错误不能通过编译 C、输出**** D、输出#### 答案: D 题号:13198 有如下程序 main() { int x=l,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 C、a=1,b=0 D、a=2,b=2 答案: A 题号:13196 为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系 A、在其之前未配对的if B、缩排位置相同的if C、同一行上的if D、在其之前最近的未配对的if 答案: D 题号:13192 有如下程序 void main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 该程序的输出结果是 A、a=1,b=1 B、a=2,b=2 C、a=2,b=1 D、a=1,b=0 答案: C 题号:13194 下列只有当整数x为偶数时,才是逻辑"真"的表达式是( )。 A、x%2 !=0 B、(x-x/2*2)==0 C、!(x%2==0) D、if (x%2); 答案: B 题号:13193 假定所有变量均已正确说明,下列程序段运行后x的值是( ) int a=0;b=0;c=0;x=30; if (!a) x--; else if (b) x++; if( c) x=x-3; else x+=4; A、4 B、33 C、30 D、3 答案: B 题号:13197 下列条件语句中,功能与其他语句不同的是 ( ) A、 if (a!=0) printf("%d\n",x); else printf("%d\n",y); B、 if (a) printf("%d\n",x); else printf("%d\n",y); C、if(a==0) printf("%d\n",x); else printf("%d\n",y); D、 if(a==0) printf("%d\n",y); else printf("%d\n",x); 答案: C 填空题 ================================================== 题号:12987 一个C源程序中至少应包括一个____________________ 。 答案: 空 1: main函数 题号:12990 C语言源程序文件名的后缀是________;经过编译产生的目标文件的后缀是_________;经过连接生成的可执行文件的后缀是_________。 答案: 空 1: .c 空 2: .obj 空 3: .exe 题号:13035 在C程序中,最多能有___________个main函数。 答案: 空 1: 1 题号:13044 已知字符'A'的ASCII码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句printf("%d,%d",c1,c2-2);后,输出的结果是__________。 答案: 空 1: 65,66 题号:12994 有以下程序 #include<stdio.h> main() { char a[20]="How are you?",b[20]; scanf("%s",b); printf("%s %s\n",a,b); } 程序运行时从键盘输入:How are you?<回车> 则输出结果为_________________________ 。 答案: 空 1: How are you? How 题号:13043 设a=4,b=5,x=3.5,y=4,则以下两个表达式的值分别是 (1)________(2) __________。 (1)x+a%3+(int)(x+y)%2/4 (2) (float)(a+b)/2+(int)x%(int)y 答案: 空 1: 4.5 空 2: 7.5 题号:13049 执行下列程序段后,变量i的值是( )。 int i=10: switch(i){ case 9:i+=0; case 10:i+=1; case 11:i+=2; default:i+=3; } 答案: 空 1: 16 题号:12997 下列程序的功能是输出 a、b、c 三个变量中的最小值。请填空。 #include<stdio.h> main( ) { int a,b,c,t1,t2; scanf("%d%d%d",&a,&b,&c); t1=a<b? ________ ; t2=c<t1? _________ ; printf("%d\n",t2); } 答案: 空 1: a:b 空 2: c:t1 题号:13000 若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>b)a=b;c=a; if(c!=a)c=b; printf("%d,%d,%d\n",a,b,c); 其输出结果是__________ 。 答案: 空 1: 3,5,3 题号:13047 语句:printf(“%d”,(a=2)&&(b=-2));的输出结果是____________________。 答案: 空 1: 1 程序设计 ================================================== 题号:12967 /*---------------------------------------------------------------------------------------------- 输入三角形的三边长a,b,c分别为3.1,4.2,5,3;求三角形面积。已知三角形的三边长a,b,c,其中s = (a+b+c)/2。则该三角形的面积公式为: 。 ------------------------------------------------------------------------------------------------*/ #include<stdio.h> #include<math.h> void main() { float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); /*****************Begin***********************/ /*****************end*************************/ printf("a=%7.2f,b=7.2f,c=7.2f,s=%7.2f\n",a,b,c,s); printf("area=%7.2f\n",area); TestFunc(); } void TestFunc() { FILE *IN,*OUT; char sIN[80]; int iOUT,i; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..It May Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. It May Be Changed"); } for(i=0;i<10;i++) { fscanf(IN,"%s",sIN); iOUT=fun(sIN); } fprintf(OUT,"%d\n",iOUT); fclose(IN); fclose(OUT); } 示例代码: s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); 程序填空 ================================================== 题号:13288 /*---------------------------------- 功能:大小写字母的转换。 ------------------------------------*/ # include <stdio.h> void main() { char c1,c2; c1='b'; c2='B'; /**************FILL******************/ c1=_____; /* 的ASCII码值为98,减去32得'B'的ASCII码值*/ /**************FILL******************/ c2=_____; /*'B'的ASCII码值为66,加上32得'b'的ASCII码值*/ printf("%c,%c",c1,c2); } 答案: 位置 1: c1-32 位置 2: c1+32 单项选择 ================================================== 题号:13170 C 语言源程序名的后缀是( )。 A、.c B、.obj C、.exe D、.cpp 答案: A 题号:13167 以下叙述中正确的是( )。 A、程序设计的任务就是确定所用算法 B、程序设计的任务就是确定所用数据结构 C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试 D、以上三种说法都不完整 答案: D 题号:13159 以下叙述错误的是( )。 A、一个C语言程序只能实现一种算法 B、C程序可以由多个程序文件组成 C、 C程序可以由一个或多个函数组成 D、一个C函数可以单独作为一个C程序文件存在 答案: A 题号:13160 以下叙述正确的是( )。 A、注释说明只能位于一条语句的后面 B、在编译时不能发现注释中的拼写错误 C、main()必须是程序的第一行 D、C程序每一行只能写一条语句 答案: B 题号:13166 以下关于结构化程序设计的叙述中正确的是( )。 A、由三种基本结构构成的程序只能解决小规模的问题 B、结构化程序使用goto语句会很便捷 C、在C语言中,程序的模块化是利用函数实现的 D、一个结构化程序必须同时由顺序、分支、循环三种结构组成 答案: C 题号:13168 下列关于函数的叙述中正确的是( )。 A、每个函数都可以被单独编译 B、每个函数都可以被其他函数调用(包括 main函数) C、在一个函数内部可以定义另一个函数 D、每个函数都可以单独运行 答案: A 题号:13184 设有如下程序段: int x=2012,y=2013; printf("%d\n",(x,y)); 则以下叙述正确的是( )。 A、输出值为2013 B、运行时产生出错信息 C、输出值为2012 D、输出语句中格式说明符的个数少于输出项的个数,不能正确输出 答案: A 题号:13173 可在C语言中用做用户标识符的一组是( )。 A、green void 2we FoR B、ef-er print used&we sjhd C、_name SIG for UI*sd D、inT word ipad id_ds 答案: D 题号:13174 C语言中最简单的数据类型包括( )。 A、实型、字符型、逻辑型 B、整型、实型、逻辑型 C、整型、字符型、逻辑型 D、整型、实型、字符型 答案: D 题号:13190 从键盘输入"x↙",("↙"表示回车),不能输出x的语句段是( )。 A、c=getchar();putchar(c); B、putchar(getchar()); C、getchar(C);putchar(c); D、scanf("%c",&c);printf("%c",c); 答案: C 题号:13191 设有以下程序段: int m=0,n=0;char c='a'; scanf("%d%c%d",&m,&c,&n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是( )。 A、10,a,9 B、10,A,0 C、10,A,9 D、10,a,0 答案: C 题号:13183 若有以下程序段,其输出结果是( )。 int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf("%d,%d,%d\n"a,b,c); A、 3,3,-10 B、 0,0,5 C、-10,3,-10 D、0,0,-10 答案: B 题号:13195 以下程序段的运行结果是( )。 int a=-5,b=5; printf(a>b?"a=%d":"b=%d",a,b) A、没有正确的输出格式控制 B、a=-5b=5 C、a=-5 D、b=-5 答案: D 题号:13194 下列只有当整数x为偶数时,才是逻辑"真"的表达式是( )。 A、x%2 !=0 B、(x-x/2*2)==0 C、!(x%2==0) D、if (x%2); 答案: B 题号:13197 下列条件语句中,功能与其他语句不同的是 ( ) A、 if (a!=0) printf("%d\n",x); else printf("%d\n",y); B、 if (a) printf("%d\n",x); else printf("%d\n",y); C、if(a==0) printf("%d\n",x); else printf("%d\n",y); D、 if(a==0) printf("%d\n",y); else printf("%d\n",x); 答案: C 题号:13192 有如下程序 void main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 该程序的输出结果是 A、a=1,b=1 B、a=2,b=2 C、a=2,b=1 D、a=1,b=0 答案: C 题号:13198 有如下程序 main() { int x=l,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 C、a=1,b=0 D、a=2,b=2 答案: A 题号:13196 为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系 A、在其之前未配对的if B、缩排位置相同的if C、同一行上的if D、在其之前最近的未配对的if 答案: D 题号:13199 下面的程序,说法正确的是( )。 main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else printf("####"); } A、可以通过编译,但是不能通过连接,因而不能运行 B、有语法错误不能通过编译 C、输出**** D、输出#### 答案: D 题号:13193 假定所有变量均已正确说明,下列程序段运行后x的值是( ) int a=0;b=0;c=0;x=30; if (!a) x--; else if (b) x++; if( c) x=x-3; else x+=4; A、4 B、33 C、30 D、3 答案: B 填空题 ================================================== 题号:12968 C源程序的基本单位是__________________________。 答案: 空 1: 函数 题号:13036 算法的基本特征主要包括可行性、确定性、___________和输入、输出(拥有足够的情报)。 答案: 空 1: 有穷性 题号:12990 C语言源程序文件名的后缀是________;经过编译产生的目标文件的后缀是_________;经过连接生成的可执行文件的后缀是_________。 答案: 空 1: .c 空 2: .obj 空 3: .exe 题号:13042 表达式3.6-5/2+1.2+5%2的值是__________。 答案: 空 1: 3.8 题号:12995 下列程序运行后的输出结果是___________________ 。 main( ) { int x=0210; printf("%X\n",x); } 答案: 空 1: 88 题号:12994 有以下程序 #include<stdio.h> main() { char a[20]="How are you?",b[20]; scanf("%s",b); printf("%s %s\n",a,b); } 程序运行时从键盘输入:How are you?<回车> 则输出结果为_________________________ 。 答案: 空 1: How are you? How 题号:13045 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为___________。 if(a<b) if(c<d) x=10; else if(a<c) if(b<d) x=20; else x=30; else x=40; else x=7; 答案: 空 1: 20 题号:13048 以下程序的输出结果是( )。 main() {int a=-1,b=1,c; c=(++a<0)&&!(b--<=0); printf(“c=%d,a=%d,b=%d\n”,c,a,B.; } 答案: 空 1: c=0,a=0,b=1 题号:12997 下列程序的功能是输出 a、b、c 三个变量中的最小值。请填空。 #include<stdio.h> main( ) { int a,b,c,t1,t2; scanf("%d%d%d",&a,&b,&c); t1=a<b? ________ ; t2=c<t1? _________ ; printf("%d\n",t2); } 答案: 空 1: a:b 空 2: c:t1 题号:12998 已有定义:char c=' ';int a=1, b;(此处 c 的初值为空格字符),执行 b=!c &&a;后b 的值为 _______。 答案: 空 1: 0 程序设计 ================================================== 题号:12967 /*---------------------------------------------------------------------------------------------- 输入三角形的三边长a,b,c分别为3.1,4.2,5,3;求三角形面积。已知三角形的三边长a,b,c,其中s = (a+b+c)/2。则该三角形的面积公式为: 。 ------------------------------------------------------------------------------------------------*/ #include<stdio.h> #include<math.h> void main() { float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); /*****************Begin***********************/ /*****************end*************************/ printf("a=%7.2f,b=7.2f,c=7.2f,s=%7.2f\n",a,b,c,s); printf("area=%7.2f\n",area); TestFunc(); } void TestFunc() { FILE *IN,*OUT; char sIN[80]; int iOUT,i; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..It May Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. It May Be Changed"); } for(i=0;i<10;i++) { fscanf(IN,"%s",sIN); iOUT=fun(sIN); } fprintf(OUT,"%d\n",iOUT); fclose(IN); fclose(OUT); } 示例代码: s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); 程序填空 ================================================== 题号:13288 /*---------------------------------- 功能:大小写字母的转换。 ------------------------------------*/ # include <stdio.h> void main() { char c1,c2; c1='b'; c2='B'; /**************FILL******************/ c1=_____; /* 的ASCII码值为98,减去32得'B'的ASCII码值*/ /**************FILL******************/ c2=_____; /*'B'的ASCII码值为66,加上32得'b'的ASCII码值*/ printf("%c,%c",c1,c2); } 答案: 位置 1: c1-32 位置 2: c1+32 单项选择 ================================================== 题号:13200 下面关于循环语句for、while、do_while的叙述中,正确的是____。 A、三种循环语句中都可以缺省循环终止条件表达式 B、三种循环语句的循环体都至少被无条件地执行一次 C、三种循环语句的循环体都必须放入一对花括号中 D、三种循环语句都可能出现无穷循环 答案: D 题号:13235 以下程序的输出结果是____ 。 main() {int i: for(i='A';i<='I':i++) printf("%c",i+32); printf("\n"); } A、abcdefgh B、编译不通过,无 C、ABCDEFGH D、abcdefghi 答案: D 题号:13241 若a是int型变量,有如下程序段: for(x=4;x<=10;x+=3) printf((x%2)?("**%d"):("##%d\n"),x); 执行该程序段后的输出结果是____。 A、**4 ##7 **10 B、##4 **7##10 C、**4##7 **10 D、##4 **7 ##10 答案: B 题号:13205 以下程序执行结果为_________。 main() { int i,j,k; for(i=0,j=5;i<=j;i++,j--); printf("k=%d",k=i+j); } A、k=1 B、k=8 C、k=0 D、k=5 答案: D 题号:13239 假设a和b为int型变量,则执行以下语句后,b的值为____。 a=2:b=l0; do {b-=a; }while(b--<=a++); A、8 B、7 C、0 D、9 答案: B 题号:13234 以下程序段的执行次数____。 x=10; do{x=x*x;} while(!x); A、无限次 B、2 C、循环体将提示有语法错误 D、1 答案: B 题号:13203 设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则_________。 A、程序段中的控制表达式是非法的 B、运行程序段后输出1 C、运行程序段后输出0 D、程序段执行无限次 答案: B 题号:13206 下面程序的运行结果是_________。 #include <stdio.h> main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); } A、0 B、1 C、8 D、-1 答案: A 题号:13202 下列有关for循环正确的是 A、for循环只能用于循环次数已经确定的情况 B、在for循环中,不能用break语句跳出循环体 C、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 D、for循环是先执行循环体语句,后判断表达式 答案: C 题号:13201 有如下程序 main() { int x=23; do { printf("%d",x--);}while(!x); } 该程序的执行结果是______。 A、陷入死循环 B、不输出任何内容 C、321 D、23 答案: D 题号:4990 若i为整型变量,则以下循环执行次数是()。 for(i=2;i==0;) printf("%d",i--); A、0次 B、1次 C、无限次 D、2次 答案: A 题号:3880 以下循环for(x=0,y=0;(y=123)&&(x<4);x++);的执行次数是()。 A、4次 B、是无限循环 C、3次 D、循环次数不定 答案: A 题号:2224 while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是()。 A、fabs(t)<1e-5&&!s/10 B、fabs(t)<1e-5 C、t>=1e-5&&t<=-1e-5&&s>-10&&s<10 D、s/10==0 答案: C 题号:4186 以下程序段的输出结果是 int i, j, m = 0; for(i = 1; i <= 15; i += 4) for(j = 3; j <= 19; j += 4) m++; printf
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 大学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服