c语言程序填空题
导出题库试题(1~100)
共计104道试题
一、程序填空答案(104题)
【程序填空】
1功能:求两个非负整数的最大公约数和最小公倍数。
【1】r != 0 或r 【2】r=m%n 或r=m-m/n*n 【3】n 【4】gcd,lcm 或n,lcm
2功能:下面的程序是求1!+3!+5!+……+n!的和。
【1】s=0 【2】i+=2 或i=i+2 或i++,i++ 【3】j<=i 或i>=j 或jj 【4】f= f * j
3功能:将一个字符串中下标为m的字符开始的全部字符复制成为另
一个字符串。
【1】p1= str1 + m 【2】*p2++=*p1++ 或*(p2++)=*(p1++) 或*p2=*p1,p2++,p1++ 或*p2=*p1++,p2++ 或*p2++=*p1,p1++ 【3】*p2='\0' 或*p2=0 或*p2=NULL【4】strcopy(str1,str2,m)
4功能:以下程序是用选择法对10个整数按升序排序。
【1】#define N 10 【2】k=I 【3】j
5功能:删除一个字符串中的所有数字字符。
【1】s[i]!= 或*(s+i)!= 或*(i+s)!= 【2】||
【3】s[j]=s[i] 或*(s+j)=*(s+i) 或s[j]=*(s+i) 或*(s+j)=s[i] 【4】delnum(item)
6功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出
其和。
【1】n=0 【2】i<=300 或i<300 或300>=i 或300>i
【3】i%7 == 0 || i%17 == 0 或!(i%7)||!(i%17) 或!(i%17)||!(i%7) 或!(i%7&&i%17)
【4】n%5 == 0 或!(n%5) 或n/5*5==n
7功能:求100-999之间的水仙花数
说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
例如:153=1^3+5^3+3^3)。
【1】k=0 【2】j=m%10 或j=m-m/10*10 或j=m-10*(m/10) 【3】return(1) 【4】fun(i)
8功能:输出9*9口诀。
【1】i<10 或10>i 【2】j++ 或++j 或j=j+1 【3】result
9功能:输出100到1000之间的各位数字之和能被15整除的所有数,
输出时每10个一行。
【1】k=0 【2】n%10 或n-n/10*10 或n-10*(n/10)
【3】while(n>0) 或while(0 10功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 【1】x != 0 或x 【2】else 或else if(x%2==1) 或else if(x%2!=0) 或if(x%2) 【3】scanf("%d",&x) 【4】av2=s2/j 11功能:求一个二维数组中每行的最大值和每行的和。 【1】s=0 【2】k=a[i][j] 【3】c[i]=s 【4】a[i][j] 12功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘 输入。 【1】str 【2】str[i]!='\0' 或str[i]!=NULL 或str[i]!=0 或str[i] 【3】str[k]=str[i] 或*(str+k)=*(str+i) 或str[k]=*(str+i) 或*(str+k)=str[i] 【4】str[k]='\0' 或*(str+k)='\0' 或str[k]=NULL 或str[k]=0 或*(str+k)=0 或*(str+k)=NULL 13功能:将一个数组中的元素按逆序存放。 【1】k++ 或k= k + 1 或k+=1 或++k 【2】a[k]=a[N-k-1] 或a[k]=a[N-1-k] 或a[k]=a[6-k] 或*(a+k)=*(a+N-k-1) 或*(a+k)=*(a+N-1-k] 或a[k]=a[-1+N-k] 或a[k]=a[-1-k+N] 或a[k]=a[-k-1+N] 或a[k]=a[-k+N-1] 或*(a+k)=*(a+N-k-1) 或a[6-k]=s 【3】a[N-k-1]=s 或a[N-1-k]=s 或a[6-k]=s 或a[N -k -1]=s 或*(a +N -k -1)=s 【4】printf 14功能:产生并输出杨辉三角的前七行。 【1】a[i][i]=1 【2】i 【3】a[i-1][j]+a[i-1][j-1] 或a[i-1][j-1]+a[i-1][j] 【4】j<=i 或i>=j 或jj 或j-1j-1 15功能:是将两个字符串连接为一个字符串,不许使用库函数strcat。 【1】JOIN(str1,str2) 【2】j=strlen(s1) 或for(j=0;s1[j]!='10';j++); 或for(j=0;s1[j];j++); 【3】s2[i]!= 或*(s2 + i)!= 【4】'\0' 或NULL 或0 16功能:输入字符串,再输入一个字符,将字符串中与输入字符相 同的字符删除。 【1】a[i] != '\0' 或a[i] 或a[i]!=NULL 【2】a[j]='\0' 或a[j]=NULL 或a[j]=0 【3】cc=getchar() 或scanf("%c",&cc) 【4】fun(a,cc) 17功能:输入两个整数,求他们的按位与。 【1】x/2 【2】a*b*k 或 a * b * k 【3】printf 18功能:通过函数的递归调用计算阶乘。 【1】power(n-1)*n 或power( n - 1 ) * n 或n*power(n-1) 【2】&n 【3】power(n) 或y 19功能:数组名作为函数参数,求平均成绩。 【1】a 【2】av 或(av) 【3】&sco[i] 或sco+I 【4】sco 20功能:计算个人与各科平均成绩及全班平均成绩,并在屏幕上显 示出来。 【1】N+1 或1+N 或 5 【2】M 或5 【3】/= 【4】j 21功能:利用全局变量计算长方体的体积及三个面的面积。 【1】a*b*c 或 a * b * c 【2】b*c 或 b * c 【3】&l 【4】vs(l,w,h) 或vs( l , w , h ) 22功能:用函数调用方式,实现字符串的复制。 【1】str_to+i 或i+str_to 【2】string_copy 【3】printf 23功能:输入数组,最大的与第一个元素交换,最小的与最后一个 元素交换,输出数组。 【1】i++ 或i=i+1 或++I 【2】array 【3】array+10 或10+array 【4】*p<*min 或*min>*p 24功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数 变成最前面的m个数 【1】number,n,m 【2】array,n,m 【3】array+n-1 或array + n -1 【4】p-1 或p -1 25功能:用冒泡法对数组a 进行由小到大的排序。 【1】j<=n-1 或n-1>=j 或j<=-1+n 或-1+n>=j 或j 【2】i 【3】a[i]>a[ i + 1 ] 或a[ i + 1 ] 26功能:计算某日是当年的第几天。 【1】31 【2】120 【3】|| 【4】days + 1 或1+days 或++days 27功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。 【1】int k 【2】mc < 10 或10 > mc 或mc <= 9 或9 >= mc 【3】k%17 == 0 或!(k%17) 或k/17*17 == k 【4】return m 或return (m) 28功能:计算并输出high以内最大的10个素数之和,high由主函数传 给fun函数,若high的值为100,则函数的值为732。 【1】n<10 或10>n 【2】high%j == 0 或!(high%j) 【3】return sum 或return (sum) 29功能:用结构体调用的方法编程。要求输入A,B,C,D,E,F五 个元素的数值,并按从大到小的顺序输出。 【1】*vp 【2】N 【3】*tbl[j+1].vp 或*tbl[ j + 1 ].vp 【4】m=k 30功能:输入某年某月某日,判断这一天是这一年的第几天? 【1】sum=90 【2】sum=sum+day 或sum= sum + day 【3】year%4==0&&year%100!=0) 或year%4 == 0 && year%100 != 0 【4】leap==1&&month>2 或leap == 1 && month>2 或leap == 1 && 2 31功能:输入三个整数x,y,z,请把这三个数由小到大输出。 【1】t=x;x=y;y=t; 【2】t=z;z=x;x=t; 【3】t=y;y=z;z=t; 32功能:输入数组,最大的与最后一个元素交换,最小的与第一个元 素交换,输出数组。 【1】i<9 或9>I 【2】min=p 【3】l=*p 【4】array[9]=k 33功能:输入学生成绩并显示。 【1】i++ 或++i 或i=i+1 【2】&stu[i] 【3】&stu[i] 【4】printf 34功能:当输入“2,5”的时候输出为“2 5 5” 【1】m 【2】k-1 或k -1 【3】+= 或=1+ 35功能:计算一元二次方程的根。 【1】 36功能:计算圆周率的近似值。 【1】pi 【2】fabs(t) 【3】4 37功能:计算平均成绩并统计90分以上人数。 【1】0 【2】scanf 【3】continue 38功能:考查字符串数组的应用。输出26个英文字母。 【1】i++ 或++i 或i=i+1 或i+=1 【2】'A' + i 或i+'A' 或65 + i 或i+65 【3】string 39功能:百马百担问题:有100匹马,驮100担货,大马驮三担,中 马驮2担,两匹小马驮一担,求大、中、小马各多少匹? 【1】3 【2】 2 【3】hm 【4】hl 40功能:找出数组中最大值和此元素的下标,数组元素的值由键盘 输入。 【1】a + i 或&a[i] 【2】p-a 或-a+p 【3】> 【4】*s 41功能:输出两个整数中大的那个数,两个整数由键盘输入。 【1】(int *) 【2】p1 【3】*p1 42功能:求出二维数组中的最大元素值。 【1】max_value(3,4,a) 【2】array[][4] 或array[3][4] 【3】max=array[i][j] 43功能:从低位开始取出长整型变量s中奇数位上的数,依次构成一 个新数放在t中。 【1】% 【2】s/100 【3】+ *t 【4】* 44功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数 放在t中。高位仍在高位,低位仍在低位。 【1】*t 【2】s%10 【3】d * sl 或sl * d 【4】*= 或=s* 45功能:用指向指针的指针的方法对n个字符串排序并输出。 【1】|| 【2】str[i] 【3】**p 【4】p[i]=p[j] 46功能:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和 以及0的个数,n通过scanf()函数输入。 【1】&a 【2】a%2 【3】r* 【4】a*a 47功能:编程求某年第n天的日期。用数组表示月天数。 【1】|| 【2】+= 或=a+ 【3】> 48功能:输入一正整数n、打印1-n能够组成的所有自然数集合 (包含空集)。 【1】set[0] 【2】position+1 【3】break 49功能:要求输出结果为3。 【1】s 【2】int m 【3】return 50功能:利用指向结构的指针编写求某年、某月、某日是第 几天的程序,其中年、月、日和年天数用结构表示。 【1】struct 【2】x 【3】 f 【4】x.n 61功能:功能:定义一个结构变量(包括年、月、日)计算给定日 期是该年的第几天。 【1】struct 【2】!= 【3】|| 【4】da.d 62功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t 所指的数组中。 例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。 【1】strlen(s) 【2】i++ 或i=i+1 或i+=1 或++I 【3】d+i 或i+d 【4】2*d 或d*2 或i+d 或d+i 63功能:用条件编译方法实现以下功能。输入一行电报文字,可以任 选两种方式输出,一种为原文输出;另一种将字母变成下 一个字母(如a变成b,C变成D,其他字符不变)输出。 【1】*s 【2】(str) 或(s) 【3】*s='A' 【4】'a' 64功能:输入3个数a,b,c,按从小到大的顺序输出。 【1】n1>n2 或n2 【2】n1>n3 或n3 【3】n2>n3 或n3 【4】p1,p2 65功能:将一个字符串中的前N个字符复制到一个字符数组中去, 不许使用strcpy函数。 【1】str1 【2】i 【3】str2[i]=str1[i] 或*(str2+i)=*(str1+i) 或*(str2+i)=str1[i] 或str2[i]=*(str1+i) 【4】str2[n]='\0' 或str2[i]='\0' 或str2[n]=0 或str2[i]=0 或*(str2+n)='\0' 或*(str2+i)='\0' 或*(str+n)=0 或*(str2+i)=0 66功能:已定义一个含有30个元素的数组s,函数fun1的功能是按 顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序 每五个元素求一个平均值, 并将该值存放在数组w中。 【1】s[i]=k 或s[i]=(i+1)*2 【2】if( ( i + 1 )%5 == 0 ) 或if( ( i + 1 )/5*5 ==i+1) 【3】sum=0 或sum=0.0 【4】fun2(s,w) 67功能:从键盘上输入一个字符串, 将该字符串升序排列后输出到 文件test.txt中,然后从该文件读出字符串并显示出来。 【1】n=strlen(str) 或for(n=0;str[n]!='\0';n++) 或for(n=0;str[n];n++) 或for(n=0;str[n]!=0;n++) 【2】i 【3】str[j]>str[ j + 1 ] 或str[ j + 1 ] 【4】fputs(str,fp) 或fprintf(fp,"%s\n",str) 或fprintf(fp,"%s",str) 68功能:统计一个字符串中的字母、数字、空格和其它字符的个数。 【1】void fun(char s[],int b[]) 【2】fun(s1,a) 【3】'0'<=s[i] && s[i]<='9' 或s[i]>='0' && s[i]<='9' 或'0'<=s[i] && '9'>=s[i] 或s[i]>='0' && '9'>=s[i] 或48<=s[i] && s[i]<=57 或s[i]>=48 && s[i]<=57 或48<=s[i] && 57>=s[i] 或s[i]>=48 && 57>=s[i] 或!( x < 48 || x > 57 ) 或!( x < '0' || x > '9' ) 【4】s[i] == ' ' 或s[i] == 32 69功能:将十进制数转换成十六进制数。 【1】i=strlen(s)-1 或i=-1+strlen(s) 【2】b>0 或0 【3】p[i]= j + '0' 或p[i]= j + 48 或*(p+i)= j + '0' 或*(p+i)= j + 48 【4】p[i]='\0' 或p[i]=0 或p[i]=NULL 或*(p+i)='\0' 或*(p+i)=0 或*(p+i)=NULL 70功能:下面函数为二分法查找key值。数组中元素已递增排序, 若找到key则返回对应的下标,否则返回-1。 【1】low<=high 或high>=low 【2】high=mid-1 【3】low= mid + 1 【4】return mid 或return (mid) 71功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素 数)因子的形式。 例如:当N=150时,可分解成1×2×3×5×5; 当N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 【1】n>0 或0 72功能:输出结果为: * * * * * * * * * * * * * * * * * * * * 【1】a[5] 或a[] 【2】space 或' ' 【3】 5 或=4 73功能:打印以下图形。 ***** ***** ***** ***** ***** 【1】j< i + 5 或i + 5 >j 或j<= i + 4 或i + 4 >j 【2】i=0 【3】a[i][j] 【4】printf("\n") 74功能:打印出如下图案(菱形) * *** ***** ******* ***** *** * 【1】i<=3 或i<4 或3>=i 或4>I 【2】2*i+1 或i*2+1 或1+2*i 或1+i*2 【3】j=0 75功能:产生10个[30,90]区间上的随机整数,然后对其用选择法 进行由小到大的排序。 【1】int t 【2】k=i 【3】a[k]>a[j] 或a[j] 【4】i=0;i<10;i++ 或i=0;10>i;i++ 或i=0;i<=9;i+=1 或i=0;9>=i;i++ 或i=0;i<10;i+=1 或i=0;10>i;i+=1 或 i=0;i<=9;i++ 或i=0;9>=i;i+=1 或i=0;i<10;++i 或i=0;10>i;++i 或i=0;9>=i;++i 或i=0;i<=9;++i 76功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的 和、差、积、商。 【1】e=a+c 或e=c+a 【2】f=a*d+b*c 或f= a*d + b*c 或f= a * d + b * c 【3】f=(b*c-a*d)/(c*c+d*d) 或f=(b*c-a*d) / (c*c+d*d) 或f=( b * c - a * d ) / ( c * c + d * d ) 77功能:要求输出结果为: A,B 65,66 【1】b 【2】'a' 或97 【3】32 78功能:从键盘输入一个字符串,将小写字母全部转换成大写字母, 然后输出到一个磁盘文件“test”中保存。输入的字符串 以!结束。 【1】"w" 【2】str 【3】str[i]<='z' 或'z'>=str[i] 【4】fp 79功能:有五个学生,每个学生有3门课的成绩,从键盘输入以上数 据(包括学生号,姓名,三门课成绩),计算出平均成绩, 设原有的数据和计算出的平均分数存放在磁盘文件"stud" 中。 【1】j<3 或3>j 【2】score[j] 【3】i++ 或++i 或i=i+1 【4】struct student 80功能:有n个人围成一圈,顺序排号。从第一个人开始报数(从1 到3报数),凡报到3的人退出圈子,问最后留下的是原来 第几号的那位。 【1】i 符串,并输出其长度。 【1】str 【2】length 或int length 【3】n++ 或++n 或n=n+1 或n+=1 【4】p++ 或++p 或p=p+1 或p+=1 84功能:从读入的整数数据中,统计大于零的整数个数和小于零的 整数个数。用输入零来结束输入,程序中用变量i统计大于 零的整数个数,用变量j统计小于零的整数个数。 【1】i + 1 【2】j + 1 【3】&n 82功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3 元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡 各多少只? 【1】hens 【2】33 【3】hens++ 或++hens 或hens=hens+1 【4】cocks++ 或++cocks 或cocks=cocks+1 或cocks= cocks + 1 83功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输 入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄)。 【1】scanf 【2】> 【3】== 85功能:将字母转换成密码,转换规则是将当前字母变成其后的第 四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字 母的转换规则同样。 【1】getchar() 【2】c+=4 或c=c+4 或c=4+c 【3】&& 86功能:要求输出如下结果: b=-1 a=65535 a=65534 a=30 b=6 c=5 按要求在空中填入合适的变量完善程序。 【1】c 【2】b 【3】a 【4】(c=5) 87功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假 如人口增长率为5%。编写一个程序求在公元多少年总人口 翻了一番。 【1】(1+r) 或(r+1) 【2】2*p1 或p1*2 【3】(1+r) 或(r+1) 【4】n+1982 或1982+n 88功能:先将在字符串s中的字符按正序存放到t串中,然后把s中的 字符按逆序连接到t串的后面。 【1】strlen(s) 【2】s[sl-i-1] 或s[ sl -i -1 ] 【3】'\0' 或0 【4】scanf 89功能:已知一个数列,它的头两项分别是0和1,从第三项开始以 后的每项都是其前两项之和。编程打印此数,直到某项的 值超过200为止。 【1】i=1 【2】200 【3】f1 90功能:已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式 XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该 算式。 【1】x<10 或10>x 【2】|| 【3】10000*y 或y*10000 【4】10000*y+1110*x+z 或10000 * y + 1110 * x + z 91功能:算式:?2*7?=3848中缺少一个十位数和一个个位数。编 程求出使该算式成立时的这两个数,并输出正确的算式。 【1】x<10 或10>x 或x<=9 或9>=x 【2】y=0 【3】(10*x+2)*(70+y) 或( 10 * x + 2 ) * ( 70 + y )【4】10*x+2,70+y 或10 * x + 2 , 70 + y 92功能:一个40磅重的板碎成4块,每块正好是一个整数磅,且用这 4块当砝码能称出1~40磅的整数重量的物体。编程求这4块 的各自重量。 【1】j=i 【2】39-i-j 或39 -i –j 【3】i*t1+j*t2+k*t3+l*t4 或i * t1 + j * t2 + k * t3 + l * t4 【4】39 93功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日) 相差的天数。 【1】mday(y1,m1) 【2】mday(y2,m2) 【3】yday(y2,m2,d2) 【4】y1+1 或1+y1 94功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件 中。在从该文件中读出这些数据,将其中的小写字母转换 成大写字母后在屏幕上输出。 【1】|| 【2】"w" 【3】*p++ 【4】"r" 95功能:用等分法在有序的循环数组中,找到最小元素的位置。 【1】left < right 或right>left 【2】right = mid 【3】left = mid + 1 或left = 1+mid 96功能:从键盘输入一个字符串,将小写字母全部转换成大写字母, 然后输出到一个磁盘文件“test”中保存。输入的字符串 以!结束。 【1】str[i] != '!' 【2】str[i]=str[i]-32 或str[i]= str[i] -32 【3】"r" 或"wr" 或"wr+" 97功能:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙 队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比 赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出 三队赛手的名单。 【1】i!=j 或i != j 【2】k<='z' 或'z'>=k 【3】i!=k&&j!=k 或i != k && j != k 【4】'z' 98功能:seek()函数:判断是否有不合格成绩;形参:1个,指 向由3个int型元素组成的1维数组的行指针变量返回值: (1)有不合格成绩,则返回指向本行首列的一个(列)指针; (2)没有有不合格成绩,返回值为指向下一行的一个 (列)指针 【1】pnt_col 【2】pnt_col 【3】grade+i 或i+grade 【4】pointer+j 或j+pointer 99功能:把字符串中所有的字母改写成该字母的下一个字母,最后 一个字母z改写成字母a。大字母仍为大写字母,小写字母 仍为小写字母,其它的字符不变。 例如:原有的字符串为:“Mn.123xyZ”,调用该函数后,串中的 内容为:“No.123yzA”。 【1】s=a 【2】*s+=1 或*s=*s+1 或(*s)++ 或++(*s) 【3】s++ 或s=s+1 或++s 或s= s + 1 100功能:建立一个如下的二维数组,并按以下格式输出。 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 【1】&a[i][0] 【2】p[i] 【3】i+1 或1+i 【4】putchar('\n'); 101功能:产生并输出如下形式的方阵。 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1 【1】i == j || i + j == 6 【2】a[i][j]=2 【3】i ,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带 参数的宏,一个用来求s,另一个用来求area。编写程序, 在程序中用带参数的宏求面积area。 【1】define 【2】&b 【3】S(a,b,c) 【4】AREA(s,a,b,c) 103功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为 1~100分。选手最后得分为:去掉一个最高分和一个最低分 后其余8个分数的平均值。请编写一个程序实现。 【1】&score 【2】score>max 或max 【3】score 104功能:企业发放的奖金根据利润提成。利润(I)低于或等于10万元 时,奖金可提10%;利润高于10万元,低于20万元时,低于 10万元的部分按10%提成,高于10万元的部分,可可提成7.5% ;20万到40万之间时,高于20万元的部分,可提成5%;40万 到60万之间时高于40万元的部分,可提成3%;60万到100万 之间时,高于60万元的部分,可提成1.5%,高于100万元时, 超过100万元的部分按1%提成,从键盘输入当月利润I,求 应发放奖金总数? 【1】i<=200000 或200000>=i 【2】i<=600000 或600000>=i 【3】i<=1000000 或1000000>=i 【4】printf 二年级C语言程序填空 题答题技巧 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128) 程序填空题答题技巧 程序填空题是计算机等级考试中的重点中度难点,占有的分值为30 分。做填空题时注意掌握答题技巧。 填空题的分类: (一)、数学题目 解题方法: 1.量赋初值,如果这个量以后用到的是加减运算,则赋初值0或者为是0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.0; 2.循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n; 3.循环条件中如果用的是while 语句,则循环变量的初值应该在while 的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。如果没有则一般填的是i++; 例子:int i=1; while(i<5){} (二)、字符串题目 1、循环的条件是判断该字符是否和结束符\0相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。While(s[i]!=’\0’) 2、把一个数字字符转变成对应的数值的格式是:ch=’1’-‘0’;把大写字母转变为小写字母 的格式:c h=c h+32 ;把小写字母转变为大写字母的格式为:ch=ch-32 ; 3、区分好字符数组中的指针和指针所指的值的关系。在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。 char ch[5]=”abcd” ; char * p; p=ch; p指向哪个字母?*p 代表什么?p指向下一个字母如何操作?p++还是(*p)++ 4、掌握字符数组中的函数的使用的格式。即:strlen(a)、strcmp(a,b)、strcpy(a,b) 、sizeof() 、strcat()的使用格式。注意里面的格式中使用的都是指针或数组名。 5、字符数组结束时都有一个结束符:‘\0’;在字符数组中的题目中的结束后要加上一个结束符。 (三)、结构体题目 结构体类型的题目 1、看清题目的意思。 2、定义结构体变量时的格式。 struct student *stu1 stu1->name struct student stu2 https://www.360docs.net/doc/0113192661.html, 3、结构体中成员的调用格式。结构体中的成员分为多种类型,调用结构体重的成员,使用的是“.”或者是“—>”运算符。得到结构体中学生分数,a— >score[i]。 4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。 (四)、函数题目(重点) **********************************考试形式:上机考试(60分钟) 考试题型说明:10个单选题+2个编程题 下面是编程题目的复习题型,期末考试的编程题型及难易程度与此相近,请大家认真复习,强化练习,打下坚实基础,顺利通过考试。 ********************************** 1、编写一计算阶乘的函数fac,在主函数中从键盘输入一个正整数,调用阶乘函数fac计算阶乘并输出计算结果。 2、编写一个求x的y次幂的函数pw,在main函数中从键盘输入a、b的值,然后调用pw函数求a的b次幂,并输出结果。 3、写一函数max,计算三个数中最大数。在主函数中输入三个数,调用该函数求出其中最大数并输出。(要求:三个数为实数) 4、写一个函数计算两个正整数的最大公约数,在主函数中用scanf输入m, n两个正整数,调用函数后,打印函数返回值(即这两个正整数的最大公约数)。 5、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中 调用该函数,输出200以内所有的素数。 6、请编一个自定义函数,功能:将给定的字符串中的所有字母改为小写字母。字符串在主函数中从键盘任意输入(容许包含空格) 7、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数 中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”, 否则输出“no” 8、将1--1000中所有21的倍数存到一个一维数组中,再按每行5个数据输出到屏幕上。 9、在屏幕上打印以下图案:(要求打印N行,N用符号常量定义为7) * ** *** **** ***** ****** ******* 10、输出所有在正整数200和300之间能被6整除、但不能被4整除的数,并统计这样的数有多少个。 11、求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。 12、编程计算1到20的平方和,并输出结果。(要求用for循环) 13、编写一个程序从键盘任意个整数,求均值及低于均值的个数,输出到屏幕。 14、编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、最低分输出,要求将该程序以文件名test1.c保存到K盘根目录。 15、在main()函数中输入一个人的年龄和性别,女士55岁退休,男士60岁退休。编写一个函数根据年龄和性别判断一个人士工作还是退休,若工作,则输出“Working!”,退休则输出“Retired!” 161、编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、最低分输出。 17、编写一个函数求一个实数的绝对值。然后在main函数中用scanf输入 任意个实数,调用该函数求它的绝对值并输出。 18、编写一个求1——n内的偶数和的函数,在main()函数中输入n,然后 调用该函数求1——n的偶数和并输出。 19、编写一个求1——n内的奇数和的函数,在main()函数中输入n,然后 程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535 程序填空 第1题 题目:求出二维数组中的最大元素值。 1). max_value(3,4,a) 2). array[][4] 3). max=array[i][j] 第2题 功能:数组名作为函数参数,求平均成绩。 1). a 2). av 3). &sco[i] 4). sco 第3题 题目:求数组中的最大值。 程序中有4个空,填空使程序完整。 1). &a[i] 2). a[i] 3). int x,int y 或 int y,int x 4). z 或 ( z ) 第4题 题目:找出数组中最大值和此元素的下标,数组元素的值由键盘输入。 1). a + i 或 &a[i] 2). p-a 或 -a+p 3). > 4). *s 第5题 功能:通过函数的递归调用计算阶乘。 1). power(n-1)*n 或 power( n - 1 ) * n 2). &n 3). y 第6题 题目:有5个学生,每个学生有3门课的成绩,从键盘上输入以上数据(包括学生的学号、姓名和3门课的成绩),计算出平均成绩,将原有数据和计算出来的平均成绩存放在磁盘文件“stu”中。 1). *fp 2). k/n 3). &a[i] 4). &b[i] 第7题 题目:下面程序的功能是:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。程序中有4个空,填空使程序完整。 1). char *p1 , *p2 ; 2). p1= str1 + m; 3). *p2++=*p1++; 或 *(p2++)=*(p1++); 4). strcopy(str1,str2,m); 第8题(10.0分)题号:422 题目:文件操作。 1). FILE 2). r 3). fclose(fp) 第9题 题目:输入学生成绩并显示。 1). i++ 或 ++i 或 i=i+1 2). &stu[i] 3). &stu[i] 4). printf 第10题 题目:输入数组,最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。 1). i<9 或 9>i 2). min=p 3). l=*p 4). array[9]=k 第11题 题目:以下程序的功能是删除一个字符串中的所有数字字符。 1). s[i]!= 或 *(s+i)!= 2). || 3). s[j]=s[i] 4). delnum(item) 第12题(10.0分)题号:436 题目:输出两个整数中大的那个数,两个整数由键盘输入。 1). (int *) 2). p1 3). *p1 第13题 题目:以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。 1). str 2). !='\0' 3). str[k]=str[i] 4). str[k]='\0' 第14题 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后( #include 三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x; #include } } #include 【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。#include "stdio.h" #include "conio.h" main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } getch(); } ============================================================== 【程序2】题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 #include "stdio.h" #include "conio.h" main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0. 1; bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03; else if(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); getch(); } ============================================================== 【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析: #include "math.h" #include "stdio.h" #include "conio.h" main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ 面向对象程序设计期末综合练习二(填空题) 填空题 1.C++ 语言是在 _________语言的基础上发展起来的。 2.C++ 语言的编译单位是扩展名为 __________的 __________文件。 3.行尾使用注释的开始标记符为 __________ 。 4.多行注释的开始标记符和结束标记符分别为__________ 和 __________。 5.用于输出表达式值的标准输出流对象是_________。 6.用于从键盘上为变量输入值的标准输入流对象是________。 7.一个完整程序中必须有一个名为 ________的函数。 8.一个函数的函数体就是一条 _________语句。 9.当执行 cin 语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。 10.在 C++程序中包含一个头文件或程序文件的预编译命令为__________。 11.程序中的预处理命令是指以______字符开头的命令。 12.一条表达式语句必须以 ______ 作为结束符。 13.在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是 ________定义的头文件。 14.使用 #include 命令可以包含一个头文件,也可以包含一个______文件。 15.一个函数定义由 ________和 ________两部分组成。 16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。 17. C++头文件和源程序文件的扩展名分别为______和 ______。 18.程序文件的编译错误分为 ________和 ________两类。 19.当使用 _______保留字作为函数类型时,该函数不返回任何值。 20.当函数参数表用 ______保留字表示时,则表示该参数表为空。 21 .从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______ 个参数。 22.当执行 cout 语句输出 endl 数据项时,将使 C++显示输出屏幕上的光标从当前位置移动到 ________的开始位置。 23.假定 x=5,y=6,则表达式 x++*++y 的值为 __________ 。 24.假定 x=5,y=6,则表达式x--*--y的值为__________。 25.假定 x=5,y=6,则执行表达式 y*=x++ 计算后, x 和 y 的值分别为 __________和 __________ 。 26.假定 x=5,y=6,则执行表达式 y+=x-- 计算后, x 和 y 的值分别为 __________和 __________ 。 27.C++ 常数 0x145 对应的十进制值为 __________。 28.C++ 常数 0345 对应的十进制值为 __________ 。 29.十进制常数 245 对应的十六进制的 C++表示为 __________。 30.十进制常数 245 对应的八进制的 C++表示为 __________ 。 31.signed char类型的值域范围是________至__________之间的整数。 32.int和float类型的数据分别占用_________和__________个字节。 33.float和double类型的数据分别占用_________和________个字节。 34.bool和char类型的数据分别占用_________和________个字节。 35.unsigned short int和int类型的长度分别为_________和________。 C语言程序设计试题(第1套) 一.单项选择题(30分,每题2分) 1.用C语言编写的代码程序______。 A、可立即执行 B、是一个源程序 C、经过编译即可执行 D、经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是______。 A、顺序结构、选择结构、循环结构 B、if、switch、break C、for、while、do-while D、if、for、continue 3. 以下选项中合法的实型常数是______。 A、B、E-3 C、.2E0 D、 4. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______。 A、B、3 C、D、 5. ch是字符型变量,下面不正确的赋值语句是______。 A、ch = 65; B、ch="a"; C、ch ='\ n'; D、ch= 9+ '0'; 6. 下列有关C语言程序书写格式的说法哪个是错误的 A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。 B、C语句必须要有分号。 C、C语言程序的标识符必须使用小写字母。 D、用{ } 括起来的部分,通常表示了程序的某一层次结构,称为块。 7.下面程序段所表示的数学函数关系是______。 x= -1; if (a!=0) if (a>0) x=1; else x=0; -1 (a<0) 1 (a<0) A、x= 0 (a=0) B、x= -1 (a=0) 1 (a>0) 0 (a>0) 0 (a<0) -1 (a<0) C、x= -1 (a=0) D、x= 1 (a=0) 1 (a>0) 0 (a>0) 8. 以下关于do-while循环的不正确描述是______。 A) do-while的循环体至少执行一次 B) do-while的循环体可以是复合语句 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 9. 以下程序执行后sum的值是______。 A) 15 B) 14 C) 不确定 D) 0 main() { int i , sum=0; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } 10.若有说明语句:int a[][3]={1,2,3,4,5,6}; 则a数组第一维的大小是。 A. 1 B. 2 C.3 D. 无确定值 11. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。 A、float型 B、long型 C、int型 D、double型 12.下面正确的函数定义形式为 A、double fun(int x;int y) B、double fun(int x,int y); C、double fun(int x,y) D、double fun(int x,int y) 13.以下程序运行后,输出结果是______。 #define ADD(x) x+x 三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p 实验报告三 (四学时) 2.1 实验目的 (1)掌握函数的定义和调用; (2)了解函数间的参数传送; 2.2 基础实验 【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。 算法分析: 1、输入:通过键盘接收一个字符; 2、条件判断:调用判别函数 3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母” 4、程序结束。 【实验3-1】代码及运行结果: 【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。 函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。 算法分析: 1、输入:通过键盘接收同学个数; 2、调用求平均分函数 3、输出平均成绩 4、程序结束。 【实验3-2】代码及运行结果: 【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。s=148.874270。 算法分析: 1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0 2、编写主函数,用一重循环遍历100以内所有数据 2.1、通过素数判别函数对循环的数据进行是否为素数的判别 2.2、返回判别为真的整数,并输出 3、程序结束。 【实验3-3】代码及运行结果: #include 一、填空共219题 第1题题号:422 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p; 答案: 1). 22 第2题题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); 答案: 1). 3 第3题题号:496 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: 1). 编译 2). 函数调用 第4题题号:96 已知a=13,b=6, a&b的十进制数值为【1】. 答案: 1). 4 第5题题号:398 程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 答案: 1). 0 第6题题号:651 设w=5;w+= -2;则w的值为【1】. 答案: 1). 3 第7题题号:258 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%d\n",a); 答案: 1). 12 第8题题号:457 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是【1】. 答案: 1). 1 第9题题号:402 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】. 答案: 1). 11110000 第10题题号:311 若所用变量均已正确定义,则执行下面程序段后的值是【1】. for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案: 1). YESYES 《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 1、求100之内自然数中最大的能被17整除的数。 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 3、计算并输出200-400之间不能被3整除的整数的和。 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和 5、求100之内自然数中偶数之和。 6、输入5个数,求和并输出。要求编写求和的函数。 7、编程计算1*2*3+3*4*5+5*6*7+……+99*100*101的值。 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。 9、编写程序,将一个一维数组的元素逆序存放并输出。例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。 10、求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。 11、编程判断输入的整数的正负性和奇偶性。如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出j 12、计算并输出1-200之间不能被5整除的整数的和。 13、从键盘输入n和a的值,计算a+aa+aaa+……+aa……a(n个a)的值。 14、输入5个数,求它们中最大值和平均值并输出。 15、输出所有200-400之间能被3整除且个位数字为6的整数 16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。 17、计算并输出200-400之间不能被7整除的整数的和。 18.计算并输出200-400之间不能被5整除的整数的和 19、从键盘输入10个数,统计非正数的个数,并计算非正数的和 20、输入一串字符,将其中的大写字母变成对应的小写字母并输出。 21、打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。 22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第10次落地时,共经过了多少米,第10次反弹多高? 23、输出所有0-200之间能被3整除且个位数字为6的整数。 24、输入一个正整数,输出它的阶乘。 25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。 26、编写程序,使用循环结构输出下列图形: * * * * * * * * * * * * * * * * * * * * 27、输入一串字符,逆序输出。要求使用数组实现。 28、求1-1/2+1/3-1/4+……+1/99-1/100的值。 29、输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出,结果保留一位小数。 30、求两个正整数的最大公约数。 31、求100之内自然数中奇数之和。 32、输出所有200-400之间能被3整除且个位数字为7的整数。 33、编程计算1*2*3+4*5*6+……+97*98*99的值二年级C语言程序填空题答题技巧
c语言编程 题目及答案
C语言程序设计程序填空题库及答案
C语言程序设计试题1
C语言程序填空
C语言程序设计期末考试试题(含答案)
c语言程序填空题1
c语言程序填空题
C语言经典程序100题(完整版)
C语言程序设计期末练习填空题.docx
C语言程序设计试题第1套(山东建筑大学)
c语言程序填空题(1)
c语言编程例题及答案
大学计算机C语言程序设计(填空题)
C语言程序设计模拟试题1附答案
C语言编程题(带答案)