c语言填空题总结
- 格式:doc
- 大小:93.00 KB
- 文档页数:13
计算机程序设计基础(C语言)程序填空练习题程序填空:阅读程序。
在划线处填写适当的表达式或语句,使程序完整并符合题目要求1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
m ain( ) 参考答案:{ char ch;ch=get char();if( ) ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'printf("It is an English character\n");else if( ) ch>='0'&&ch<='9'printf("I t is a digit character\n");else if( ) ch==' 'printf("It is a space character\n");elseprintf("It is other character\n"); }2.10个学生成绩按交换法排序。
main(){ float score[10], temp1;int i,j;printf("Please enter score:\n");f or (i=0; i<10; i++)scanf("%f",&score[i]);f or (i=0; i<9; i++)f or (j=i+1; j<10; j++)if(score[j] > score[i]){ temp1=score[j];score[j]=score[i];score[i]=temp1;}printf("Sorted results:\n");f or (i=0; i<10; i++)printf("%4.0f\n", score[i]); }11.排序函数:用交换法按成绩由高到低对学生成绩重新排序void Sort(float score[ ],int n){ int i,j;f loat t emp1;f or (i=0; i<n-1; i++){ f or (j=i+1; j<n; j++)if( ) score[j] > score[i]{ t emp1 = score[j];; score[j]=score[i];score[i] = temp1;}}}自定义一函数求n!, 编写程序输入n,输出n!.#include<stdio.h>long jc(int n){ int i=1;long p=1;while (i <= n){ p=p*i;i++; }} return p;main(){ int n;print f("Please ent er n:");scanf("%d",&n);printf("%d!= %ld\n",n,); jc(n)}4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
c语言知识点填空题大一C语言是一门广泛应用于程序设计和系统开发的编程语言。
掌握C语言的知识点对于大一学生来说至关重要。
以下是一些C语言知识点的填空题,帮助你巩固对这门语言的理解。
1. C语言中,____是由0和1组成的最小存储单元,用于表示数据的真值。
答案:位(bit)2. 在C语言中,____运算符可以用于获取变量的地址。
答案:&(取地址)3. C语言中,____运算符可以根据变量的地址访问变量的值。
答案:*(间接访问)4. 在C语言中,____语句用于重复执行一段代码,直到给定的条件不再满足。
答案:while5. 在C语言中,____语句用于跳出当前循环,并继续执行后续的代码。
答案:break6. 在C语言中,____语句用于跳过当前循环的剩余代码,并开始下一次循环。
答案:continue7. 在C语言中,____是一种特殊的函数,不返回任何值。
答案:void(空)8. 在C语言中,____是一种用于存储数据的结构,可以同时存储多个不同类型的数据。
答案:数组9. 在C语言中,____是一种用于存储多个相同类型的数据的集合。
答案:字符串10. 在C语言中,____关键字用于定义一个具有指定类型和名字的变量。
答案:int(整型)11. 在C语言中,____关键字用于定义一个可以修改的常量。
答案:const(常量)12. 在C语言中,____是一种选择结构,根据给定的条件执行不同的代码块。
答案:if...else13. 在C语言中,____是一种循环结构,当给定的条件为真时,重复执行代码块。
答案:for14. 在C语言中,____是一种逻辑运算符,用于表示逻辑"或"关系。
答案:||(或)15. 在C语言中,____是一种逻辑运算符,用于表示逻辑"与"关系。
答案:&&(与)16. 在C语言中,____是一种按位逻辑运算符,用于对二进制数进行逻辑运算。
c语言填空题必背概念C语言最重要的知识点总体上必须清楚的:1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main(入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式。
数据存放的位置就是他的地址。
4)bit是位是指为0或者1。
byte 是指字节, 一个字节 = 八个位。
概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、#define PI3、1415926; 这个写法是错误的,一定不能出现分号。
define a 1+2define a (1+2)a=aa=1+21+2=5a=aa=33=93、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和witch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(。
c-à。
obj-à。
ee)这个过程中注意。
c和。
obj文件时无法运行的,只有。
ee文件才可以运行。
(常考!)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
main define canf printf 都不是关键字。
C 语言考试填空题1.一个C 语言程序中至少应该包含一个【】函数。
答案:main 有且只有一个2.a 是整型变量,则执行表达式a=25/3%3后a 的值为【】答案:23.int m=5,y=2;则表达式y+=y-=m*=y 的值为。
【】答案:-164.结构化程序由【】、【】、【】三种基本结构组成.答案:顺序、选择、循环5.已知a=10,b=15,c=1,d=2,e=0,则表达式c==(b>e )的值为【】。
答案:16.C 语言中,二维数组在内存中的存放方式为按【】优先存放.答案:答案:行行7.设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【】答案:18.C 源程序的基本单位是【】。
答案:源程序的基本单位是【】。
答案:函数函数9.设C 语言中,int 类型数据占2个字节,则long 类型数据占【】个字节,short 类型数据占【】个字节.答案:4,210.按内存排列顺序,数组char a[2]中的所有元素是a[1]和【】.答案:a[0]11.int x;x=-3+4*5-6,则x 的值为【】.答案:1112.执行以下程序段后,s 的值是【】int a[]={5,3,7,2,1,5,3,10},s=0,k;for(k=0;k<8;k+=2)s+=*(a+k);答案:1613.在C语言中的实型变量分为两种类型,它们是float型和【】型.答案:double14.若已知a=10,b=20,则表达式!a<b的值为【】。
答案:115.为条件表达式z=x>y?a:b释义:【】答案:当x>y时,z=a;【】答案:当否则z=b;16.若要调用函数fabs(),必须包含头文件【】答案:math.h17.请写出数学式a/bc的C语言表达式【】。
答案:(a/b)*c或(a*c)/b18.已知a=10,b=15,c=1,d=2,e=0,则表达式(c==b)>e的值为【】.答案:019.条件“20<x<30或x<-100”的C语言表达式是【】。
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
有下列矩阵:1 2 34 5 67 8 9voidfun(int (*t)__[N] ___ ){ int i, j;for(i=1; i<N; i++){ for(j=0; j<i; j++){___ t[i][j]___ =t[i][j]+t[j][i];___ t[j][i]__ =0; }将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。
例如,若N=3,有下列矩阵:1 2 3 交换后4 5 67 8 9void fun(int ___ t[][N]___ , int n){ int i,s;for(___i=0;i<n ___; i++){ s=t[i][i];t[i][i]=t[i][n-i-1];t[i][n-1-i]=___s___;求方正对角线fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。
__ sum=0____;for(i=0; i<n; i++)sum+=___ t[i][i]___ ;for(i=0; i<n; i++)sum+= t[i][n-i-___ 1___] ;return sum; }例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。
for (i=0; i<n; i++)if (a[i]%2==___1___){a[j] = a[i]; ___j++___;}return ___j___;}例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。
for (i=0; i<n; i++)if (___a[i]%2___== 0) {___a[j]___ = a[i]; j++;}return ___ j ___;}例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。
1.24L表示一个____类型的整数(从int、short、long选填)(1分)标准答案:long2.表达式(8+3)/(6+23)+27%4的值为____。
(1分)标准答案:33.若int a;char c;则a*c的数据类型为____(用英文填,如float 或int或double或char)。
(1分)标准答案:int4.已知:int num1=2,num2=3,num3;num3=7%num2*num1;则执行后num3的值是____。
(1分)标准答案:25.已知道无符号基本整型取数范围0--4294967295,现有程序段unsigned int a,b;a=65535;b=a+1;则程序运行后b的值为____。
(1分)标准答案:655366.设int a=2,则计算表达式a/=2的值为____。
(1分)标准答案:17.已知程序段:int a;a=97;printf("%c",a);则执行后输出的结果为____(注:已知字母a的ASCII 值为97)。
(1分)标准答案:a8.设unsigned number=1234;char c1;c1=number%10;则执行上述程序段后c1的值为____。
(1分)标准答案:49.0x568是用几进制表示的整数____(从十进制、八进制、十六进制选填)。
(1分)标准答案:十六进制10.C语言中,要获取变量的地址,应在变量名前加上____(不填中文)运算符。
(1分)标准答案:&11.循环语句for ( i=100 ; i ; i-=20 ) ; 的循环次数为次____(填阿拉伯数字)。
(1分)标准答案:512。
若指定将实数56.64按照指数形式输出,输出的结果为____(用大写的E,指数部分保留两位)。
(1分)标准答案:5.66E113.设int a=12,则计算表达式a*=(2+3)的值为____ 。
(1分)标准答案:6014.C语言中,字符指针是指向____(填英文关键字)型数据的指针变量。
二、填空题1 、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用 ________ 函数来实现。
答案: 1: fopen#fopen()#fopen ()知识点:知识点/基本理论/C11文件/C11_2文件函数2 、C语言中文件操作结束节后,必须关闭文件。
而且关闭文件是通过调用 __________ 函数来实现。
答案: 1: fclose#fclose()#fclose ()知识点:知识点/基本理论/C11文件/C11_2文件函数3、字符串函数________用于从指定的磁盘文件中读出一个字符串。
答案: 1: fgets#fgets()知识点:知识点/基本理论/C11文件/C11_2文件函数4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。
答案: 1: fputs#fputs()知识点:知识点/基本理论/C11文件/C11_2文件函数5、字符读写函数____________ 是用于从磁盘文件中读出一个字符。
答案: 1: fgetc#fgetc()#getc#getc()知识点:知识点/基本理论/C11文件/C11_2文件函数6、字符读写函数____________ 是用于把一个字符写入磁盘文件。
答案: 1: fputc#fputc()#putc#putc()知识点:知识点/基本理论/C11文件/C11_2文件函数7、共用体类型变量的定义关键字是 ________ 。
答案: 1: union知识点:知识点/基本理论/C10共用体与枚举类型8、定义枚举类型时采用的关键字是 __________。
答案: 1: enum知识点:知识点/基本理论/C10共用体与枚举类型9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和 ____________ 函数。
答案: 1:有参知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T10、在C语言中,函数的返回值是由 ___________语句传递的。
期末复习填空题部分一、填空题1 设x为int型变量,写出描述“x是偶数与y是奇数”的表达式是 x%2==0 && y%2==1 。
2 以下程序的输出结果是 -27 。
#include<stdio.h>void main(){ char c;c=0345;printf("%d\n",c);}3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量a的值是 -12 。
4 若float x;以下程序段的输出结果是 5.142000x=3.1415926;printf("%f\n",(int)(x*1000+0.5)/(float)1000);5 下面的程序运行时从键盘上输入1234567890<回车>,程序的输出结果是a=123,b=456.0,c=789。
#include<stdio.h>void main(){int a;float b,c;scanf("%3d%3f%3f",&a,&b,&c);printf("a=%d,b=%.1f,c=%.0f",a,b,c);}6 若输入字符串:abcdefg<回车>,则以下while循环体将执行 0 次。
while((ch=getchar())=='g') printf("*");7 下面程序的输出结果是_67,D__。
main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}8 执行下面的语句:printf("%d\n",(a=3*5,a*4,a+5));,输出是 20 。
二,填空题(10道小题,共20分)1、一个C源程序中至少应包含一个[main]函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]3、int m=5,y=2;则表达式y+=y- =m*=y的值为。
[-16]4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1]5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型6、当运行以下程序时,从键盘键入right?<CR>(<CR>代表回车),则下面程序的运行结果是。
#include<stdio.h>main( ){ char c;while((c=getchar())! ='?') putchar(++c)}[sjhiu?]7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。
9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。
[3.2]10、以下程序void fun(char *a, char *b){ a=b; (*a)++; }main (){ char c1="A", c2="a", *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf(“&c&c\n”,c1,c2);}运行后的输出结果是。
[&c&c]11、字符串常量“123”在内存中的字节数是。
[8字节]12、已有定义:int x=3 ;则表达式:x=x+1.78 的值是。
【4】13、int a=24; printf("%o ", a );输出结果是。
【30】14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。
【0】15、下面程序的运行结果是。
【x=1,y=20】#include<stdio.h>main(){ int i,x,y;i=x=y=0;do {++i;if(i%2!=0) {x=x+i;i++;}y=y+i++;} while (i<=7);printf("x=%d,y=%d\n",x,y);}16、以下语句char str[10]={"China"}; printf("%d",strlen(str))的输出结果是。
[5]17、为了便于区别全局变量和局部变量,通常将全局变量的首字母。
[用大写字母表示]18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf("%d,%d",p,*p);”的输出结果是。
【4000,5】19、程序main(){ int a[2][3]={{1,2,3},{4,5,6}};int m,*ptr;ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf("%d\n",m);}的运行结果是。
【15】20、引用C语言标准库函数,一般要用【文件包含】预处理命令将其头文件包含进来。
21、在C语言程序中,符号常量的定义要使用【宏定义】预处理命令。
22、逻辑运算符!是[自右至左]结合性。
23、下面的程序的运行结果是。
【s=254】#include<stdio.h>main( ){int a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7) {n=n*a; s=s+n; ++count;}printf("s=%d",s);}24并删去字符串1后的串标志“\0”。
2526272829、在C30、当32、在C33若m3435、若x n36、若37main()do{ if(a>0) {m=2*n; b++;}else{n=m+n; a+=2; b++;}}while(a==b);printf("m=%d n=%d",m,n);}38、C语言规定了以字符[‘\0’]作为字符串结束标志。
39、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上[static]修饰。
40、对数组元素的引用方法有下标法和[指针法]两种。
41、对于“int a[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a 有4个元素,每个元素都是[指针变量]。
42、在C语言中,八进制整型常量以【0】作为前缀。
43、已有定义:int x=0,y=0;, 则计算表达式:(x+=2,y=x+3/2,y+5) 后, 表达式的值是。
【8】44、下面程序段的运行结果是【a=-5】。
int i=1,a=0,s=1;do{a=a+s*i; s=-s; i++;} while (i<=10);printf("a=%d",a);45、要使指针变量与变量之间建立联系,可以用运算符[*]来定义一个指针变量46、设int a[10],*p=a;则对a[3]的引用可以是p[3]或[*(p+3)]。
47、C语言程序是由[函数]构成的。
48、在C语言程序中,用关键字【float】定义单精度实型变量。
49、若m是一个三位数,则十位数字为[m/10-m/100*10]。
50、int a=24; printf("%x ", a );输出结果是。
[18]51、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式。
[x<z||y<z]52、下面程序的运行结果是。
[x=1,y=20]#include<stdio.h>main(){ int i,x,y;i=x=y=0;do {++i;if(i%2!=0) {x=x+i;i++;}y=y+i++;} while (i<=7);printf("x=%d,y=%d\n",x,y);}53、形式参数也是【局部】变量。
54、以下程序#include <stdio.h>fun(int x, int y, int *cp, int *dp){*cp=x+y;*dp=x-y;}main( ){int a,b,c,d;a=30; b=50;fun(a, b, &c, &d);printf("%d,%d\n", c, d);return 0;}输出结果是。
【80,-20】55、程序main(){ int a[2][3]={{1,2,3},{4,5,6}};int m,*ptr;ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf("%d\n",m);}的运行结果是【15】56、运算符%、*=、||、==中,优先级最低的是。
【*=】57、在C语言中,"x"在内存中占【2】字节。
58、设y为int型变量,请写出描述“y是偶数”的表达式。
【y%2==0】59、下面程序段中循环体的执行次数是[3次]。
a=10;b=0;do{b+=2;a-=2+b; }while (a>=0);60、程序的输出值是。
[10]#include<stdio.h>void f(int *p){*p=10;}int *p;void main( ){f(p);printf("%d",(*p)++);}61、在C语言的赋值表达式中,赋值号左边必须是[变量]。
62、当a=3,b=2,c=1时,表达式f=a>b>c的值是。
【0】63、以下程序的输出结果是。
[5,2,3]#include<stdio.h>int sub(int x, int y, int *z){ *z=x-y; }main( ){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);return 0;}64、下面程序的输出是。
[k=2 a=3 b=2]#include<stdio.h>main(int argc, char argv[ ]){char *s="121";int k=0, a=0, b=0;do{k++;if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);return 0;}65、运算符的结合性有[2]种。
66、己有定义:float f=13.8;, 则表达式:(int)f% 3 的值是。
[1]67、判断char型变量ch是否为大写字母的正确表达式是。
[ch>=’A’&&ch<=’Z’]68、下面程序段的运行结果是。
[a=-5]int i=1,a=0,s=1;do{a=a+s*i; s=-s; i++;} while (i<=10);printf("a=%d",a);69、C语言中的字符数组中的一个元素存放[1]个字符。
70、已知:int a[5],*p=a;则p指向数组元素a[0],那么p+1指向[a[1]]。
71、设有如下定义:int a[5]={0,1,2,3,4},*p1=&a[1],*p2=&a[4];则p2-p1的值为。
[6]72、己有定义:float f=13.8;, 则表达式:(int)f% 3 的值是。
[1]73、下面程序段的运行结果是。
[a=-5]int i=1,a=0,s=1;do{a=a+s*i; s=-s; i++;} while (i<=10);printf("a=%d",a);74、已知:int a[5],*p=a;则p指向数组元素a[0],那么p+1指向[a[6]]。
75、引用C语言标准库函数,一般要用[文件包含]预处理命令将其头文件包含进来。