c语言填空题1
- 格式:doc
- 大小:200.63 KB
- 文档页数:29
选择题1.已知大写字母A的ASCII码值是65,小写字母a的ASCII码值是97,则用八进制表示的字符常量'\101'是()。
A.字符AB.字符aC.字符eD.非法的常量2.下列程序段的输出结果为()。
float k=0.8567;printf("%4.lf%%",k*100);A.85.6%B.85.6%%C.85.7%D. .8753.下面的scanf函数输入数据,使得a=10,b=15,s1='S',s2='s',x1=1.5,x2=-3.75,x3=67.8, 正确的键盘输入方法是( ).(用"[CR]"表示回车,U表示空格)main(){int a,b;float x1,x2,x3;char s1,s2;scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&s1,&s2,&x1,&x2,&x3);}A、10UUU15Ss1.5U-3.75U+1.5U67.8[CR]B、10UUU15USUs1.5U-3.75U+1.5U67.8[CR]C、10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]D、10UUU15Ss1.5U-3.75U+1.5,67.8[CR]4. C语言的if语句中,用作判断的表达式为( )。
A、任意表达式B、算术表达式C、逻辑表达式D、关系表达式5.以下程序的输出结果是:( )main(){int m=5;if(m++>5) printf("%d\n",m);else printf("%d\n",m--);}A、6B、5C、7D、46.以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);()。
C语言练习题一一、填空题。
(每空1分,共10分)1.语句while(e==0):中的条件e==0等价于_____________;答案:!e2 printf(“%4s”,“beijing”);输出为:_____________;答案:beijing3.C语言中的字符串以字符_____________;答案:答案:\04.C语言可以处理的文件类型是_____________和_____________;答案:文本文件和二进制文件5,int(*P)[5];说明p是:_____________;答案:指向一维整形数组的指针变量6.函数直接或间接地调用自己,被称为函数的_____________;答案:递归7.若有static int x[5],x[4]的地址表示是:___________ 。
答案:&x[4]或x+48.有程序段如下:int x=l:while (x<=lO){x+=3;printf(“%d\n”,x);}则:函数printf()执行次数是____4_____ ,循环结束后X的值是___________ 。
答案:139.若有以下定义和语句,则sizeof(a)的值是_____,答案:12,而sizeof(b)的值是__。
答案:4 struct{int day;char month;int year;}a,*b;10.若有static char c[10] = “China”;执行该语句后c[1]= ___________ 。
答案:h c[5]= ___________ 。
答案:\0c[6]= ___________ 。
答案:\0 strlen(c)= ___________ 。
答案:511.若有Static char c[s]={’a’,’b’,’\0’(零),‘c’,‘d’};printf(“%s\n”,c):则输出内容为:___________ 。
答案:ab12.下面程序把从终端读人的10个整数以二进制方式写到一个名为bi.dat的新文件中。
选择题(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 ) 。
一. 选择题 (单项)1. C 语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符——。
A必须为字母B必须为下划线C必须为字母或下划线 D 可以是字母、数字和下划线中的任一种字符2.下面 4个选项中,均是 C 语言关键字的选项是——。
Aauto enum includeBswitch typedef continueC signed union scanfD if struct type3.下面 4个选项中,均是不合法的用户标识符的选项是——。
A A P_0 doBfloat la0_AC b- a goto int D_123 temp INT4.在 C 语言中,int 、char 和 short 三种类型的数据在内存中所占用的字节数——。
A由用户自己定义B均为 2 个字节C是任意的D由所用机器的机器字长决定5.下面 4 个选项中,均是合法浮点数的选项是——。
A+1e+15e-9.403e2B- .60 12e-4-8e5C123e 1.2e-.4 +2e - 1D-e3 .8e-4 5.e -06.下面不正确的字符串常量是——。
AˊabcˊB〞 12ˊ12〞C〞0 〞D〞〞7.假设所有的变量均为整型,则表达式(a=2,b=5,b++, a+b)的值是——。
A7B8C6D28.以下正确的叙述是——。
A在 C 语言中,每行只能写一条语句B若 a 是实型变量, C 程序中允许赋值a=10,因此实型变量中允许存放整型数C在 C 程序中,无论整数还是实数,都能被准确无误的表示D在 C 程序中, % 是只能用于整数运算的运算符9.以下表达式值为 3 的是——。
A 16-13%10B2+3/2C 14/3-2D(2+6)/(12- 9)10.设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ˊ aˊ +i*f 值的数据类型为——。
A intB floatC doubleD 不确定11.在 C 语言中, char 型数据在内存中的存储形式是——。
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语言程序设计第一章试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123abcB. intC. forD. myVar答案:C3. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. charD. double答案:A4. 下列哪个选项是C语言中的控制语句?A. printfB. scanfC. ifD. return答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题2分,共10分)1. C语言中,用于输入一个整数的函数是________。
答案:scanf2. 在C语言中,定义一个数组时,数组的下标从________开始。
答案:03. C语言中,用于输出一个浮点数的函数是________。
答案:printf4. C语言中,用于定义一个字符型变量的关键字是________。
答案:char5. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool 或 bool(根据标准不同)三、简答题(每题5分,共20分)1. 请简述C语言中变量的作用域有哪些?答案:变量的作用域主要有局部作用域和全局作用域。
局部作用域通常用于函数内部,变量只在该函数中有效;全局作用域用于函数外部,变量在整个程序中都有效。
2. 解释C语言中的指针是什么?答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。
通过指针,程序可以间接访问和操作内存中的数据。
3. 什么是C语言中的函数原型?答案:函数原型是指函数的声明,它提供了函数的返回类型、函数名、参数类型和数量等信息,但不包含函数的具体实现。
4. 在C语言中,如何定义一个结构体?答案:定义一个结构体需要使用关键字`struct`,后跟结构体的名称,然后是一对花括号,其中包含了结构体成员的声明。
试卷编号:10184所属语言:Turbo C试卷方案:fny-13试卷总分:110分共有题型:7种━━━━━━━━━━━━━━一、填空共5题(共计15分)━━━━━━━━━━━━━━第1题(3.0分)调用fopen 函数打开一文本文件,在"使用方式"这一项中,为追加而打开需填入【1】。
答案:1). a 或a+第2题(3.0分)C语言把文件看作是一个【1】的序列。
答案:1). 字符或字节第3题(3.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空。
答案:1). void第4题(3.0分)若输入字符串:abcde<回车>,则以下while循环体将执行【1】次。
While((ch=getchar())=='e') printf("*");答案:1). 0第5题(3.0分)已知a=13,b=6, a%b的十进制数值为【1】。
答案:1). 1━━━━━━━━━━━━━━二、判断共5题(共计10分)━━━━━━━━━━━━━━第1题(2.0分)如果有一个字符串,其中第十个字符为'\n',则此字符串的有效字符为9个。
答案:N第2题(2.0分)在Turbo C中,下面的定义和语句是合法的:file *fp;fp=fopen("a.txt","r");答案:N第3题(2.0分)char c[]="V ery Good"; 是一个合法的为字符串数组赋值的语句。
答案:Y第4题(2.0分)若有int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
答案:N第5题(2.0分)若有int i=10, j=0;则执行完语句if (j=0) i++; else i--; i的值为11。
答案:N━━━━━━━━━━━━━━━━━三、单项选择共10题(共计10分)━━━━━━━━━━━━━━━━━第1题(1.0分)执行下面程序后,输出结果是()。
C语言试题(A卷)班级:姓名:学号一、填空(每空1分,共10分)1、设x为整型变量,值为1,则表达式(x&&1)= =(x%2)的值为2、与二进制数101等值的十进制数为3、若已知a=10,b=20,则表达式!a<b的值为4、结构化程序设计所规定的三种基本控制结构是结构结构和结构。
5、定义int i=1;执行语句while(i++<5);后,i的值为_______6、定义3行4列的整型二维数组a的语句是___________7、int *p,a;则语句p=&a;中的运算符&是________符号。
8、设y是int型变量,请写出判断y为奇数的关系表达式二、选择(每小题2分,共30分)1、下列优先级最低的算符是( )A&& B & C || D =2、已知int j,i=1;执行语句“j=i++;”后,变量i的值是( )A 1B 2C –1D -23、已知int i,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是( )A 6B 12C 30D 364、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )A a< >0B !aC a=0D a5、以下错误的if语句是( )A if (x>y);B if(x= =y) x+=y;C if (x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);D if (x<y) {x++;y++;}6、为了判断两个字符串s1和s2是否相等,应当使用( )A if (s1= =s2)B if (s1=s2)C if (strcpy(s1,s2))D if (strcmp(s1,s2)= =0)7、若有说明int x,y;不能实现以下函数关系的程序段是( )y=-1 (x<0)y=0 (x=0)y=1 (x>0)A if (x<0) y= -1 ;B y= -1;else if(x= =0) y=0;if (x!=0)else y=1;if (x>0) y=1;else y=0;C y=0;D if (x>=0)if (x>=0) if (x>0) y=1;{if (x>0) y=1;} else y=0;else y= -1;else y= -1;8、以下错误的描述是( )A break语句不能用于循环语句和switch语句外的任何其他语句B 在switch 语句中使用break语句或continue语句的作用相同C 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环9、若int i=10;执行下列程序后,变量i的正确结果是( )switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A10 B 11 C 12 D 1310、下列程序是求1到100的累加和,其中有1个不能够完成规定的功能,是( )A s=0;i=0;B s=0;i=1;while (i<=100) while (i++<100)s+= i++;s+=i;C s=0;i=0;D s=0;i=0;while (i<100) while (++i<=100)s+= ++i;s += i ;11、选择程序输出结果( )f(int b[ ],int m,int n){ int i,s=0;for(i=m;i<n;i++)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 30B 15C 18D 2212、C语言中函数返回值的类型由( )决定的。
下面程序段的输出结果是__10___. int a=12;a=a&052;printf("%o\n",a);当a=3,b=2,c=1;时,执行以下程序段后 c=__2___. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;若所用变量都已正确定义,请填写以下程序段的输出结果__OK___.for(i=1;i<=5;i++);printf("OK\n");若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元素中,数值最小的元素的下标是_8____.函数的_递归____调用是一个函数直接或间接地调用它自身.以下程序的输出结果是__8 (用跟踪程序运行的方法观察递归的过程)___。
fun( int x ,int *s){ int f1, f2;if( n == 1 || n == 2) *s = 1;else{ fun( n - 1, &f1) ;fun(n - 2, &f2);*s = f1 + f2;}}main(){ int x;fun(6, &x);printf(“%d\n”, x );}int main(struct node *first){struct node *p;int m;p = first ->next;m = p ->data;for(p =p ->next; p != '\0'; p =__2002___ )if( _Shangxian____ ) m = p -> data;return m;}调用 fopen 函数打开一文本文件,在"使用方式"这一项中, 以“只读”方式打开需填入_r____. 设 int x=1/4;则x的值为_0____.设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为___1__.int x=4,y=4,z=2;x=y==z; 则x的值为_0____.以下程序的执行结果是__9___。
main(){int k=8;switch(k){case 9: k+=1;case 10: k+=1;case 11: k+=1; break;default: k+=1;}printf("%d\n",k);}以下程序段的输出结果是__11___。
int i = 0, sum = 1;do{sum += i++;} while( i < 5);printf(“%d\n”, sum);若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组中下标最小的数组元素名是__a[0]___.如果函数不要求带回值,可用__void___来定义函数返回值为空.以下程序的输出结果是_GFEDCB____。
#include “stdio.h”main(){ char b[] = “ABCDEFG”, *chp = &b[7];while( --chp >&b[0] )putchar (*chp);putchar (…\n‟);设有以下结构类型说明和变量定义(假定int型数据占两个字节),则变量a在内存所占字节数是__22___ .struct stud { char num[6]; int s[4]; double ave; } a,*p;}以下C程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令中给出。
请填空。
#include <stdio.h>main( int argc, char *argv[]){ FILE *f1, *f2;char ch;if(argc < 3){ printf("命令行参数错!\n");exit(0);}f1 = fopen(argv[1], "_rr+____");f2 = fopen(argv[2], "w");while(!feof(f1))fputs( fgets(f1), f2);fclose(f1); fclose(f2);已知a=13,b=6, a&&b的十进制数值为__1___.执行下列语句的结果是_4,4____,a=3;printf("%d,",++a);printf("%d",a++);请写出与以下表达式等价的表达式是 A___。
A)!(x>0) B)!0执行以下程序后的输出结果是_i = 5, j = 4, k = 6____。
main(){int a, b, c, d, i, j, k;a = 10;b =c =d = 5; i = j = k = 0;for( ; a > b; ++b)i++;while( a > ++c )j++;dok++;while(a > d++);printf(“i = %d, j = %d, k = %d\n”, i, j, k);}C语言中,数组名代表的是数组的___首地址起始地址地址__,不能对它进行加减和赋值运算.静态变量的类型说明符是_static____当运行以下程序时从键盘输入字符串qwerty和abcd, 则程序的输出结果是__10___。
#include “string.h”#include “stdio.h”strle(char a[], char b[]){ int num = 0, n = 0;while( *(a + num) != …\0‟)num ++;while(b[n]){ *(a+num) = b[n];num ++;n++;}return (num);}main(){ char str1[81], str2[81], *p1 = str1, *p2 = str2;gets(p1); gets(p2);printf(“%d\n”, strle(p1, p2));}#include "stdio.h"struct ty{ int data;char c;};main(){ struct ty a={30,′x′};fun(a);printf("%d%c",a.data,a.c);}fun(struct ty b){b.data=20;b.c=′y′;}main(){ FILE *fp;char ch, fname[10];printf("Enter the name of file\n");gets(fname);if( ( fp = fopen(fname,"w")_____ ) == NULL ){ printf("Open error!\n");exit(0);}printf("Enter data: );while(( ch = getchar() ) != '#' )fputc(ch , fp);fclose( fp );}假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是__6___.一个C源程序中至少应包括一个__main主___函数.以下程序的输出结果为___10__, #include "stdio.h" main(){inta;for(a=0;a<10;a++);printf("%d",a);}当a=1,b=2,c=3时,执行以下程序段后a=__3___. if (a>c) b=a; a=c; c=b;以下do-while语句中循环体的执行次数是3_____. a=10; b=0; do { b+=2; a-=2+b; } while (a>=0); 数组char a[2]中的所有元素是a[0]和___a[1]__.函数调用语句func((e1,e2),(e3,e4,e5))中含有__2___个实参.以下程序的输出结果是__ar=9 ar=9 ar=11___。
#define PR(ar) printf(“ar = %d “, ar)main(){ int j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15}, *p = a + 5;for(j = 3; j ; j--)switch( j ){ case 1:case 2: PR(*p++); break;case 3: PR(*(--p) );}}在C程序中,数据可以用二进制和_ASCII____两种代码形式存放.设x=2&&2||5>1,x的值为__1___.已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是15_____.若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出从键盘正确输入数据↙___。
char c1, c2, c3;scanf(“%4c”, &c1);scanf(“%4c”, &c2);scanf(“%4c”, &c3);若变量已正确定义,以下语句段的输出结果是_*#____。
x = 0; y = 2; z = 3;switch(x){ case 0: switch( y == 2){ case 1: printf(“*”); break;case 2: printf(“%”); break;}case 1: switch( z ){ case 1: printf(“$”);case 2: printf(“*”); break;default : printf(“#”);}}以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
请填空。
main(){ float x, amax, amin;scanf(“%f”, &x);amax = x; amin = x;while(___x >= 0 __ ){ if( x > amax ) amax = x;if(__x < amin___) amin = x;scanf(“%f”, &x);}printf(“\namax = %f\naming = %f\n”, amax, amin);}字符串的结束标志是__\0 '\0' 0___.以下程序的执行结果是__V = 1 V = 2___。