=’0’&&chprintf("Itisadigitcharacter\n");elseif(ch==‘’)pr" />

【大学C语言期末考试练习题】详解答案及过程讲解 程序填空

【大学C语言期末考试练习题】详解答案及过程讲解 程序填空
【大学C语言期末考试练习题】详解答案及过程讲解 程序填空

2020届大学c语言期末考试习题讲解

程序填空

1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。

main( )

{ char ch;

ch=getchar();

if( ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’)

printf("It is an English character\n");

else if( ch>=’0’&&ch<=’9’)

printf("It is a digit character\n");

else if( ch== ‘ ’)

printf("It is a space character\n");

else

printf("It is other character\n"); }

第1空:字符在计算机中以ASCII码的形式存储。所以当输入的字符,即ch中字符所对应的ASCII码的范围在英文字母的ASCII码的范围内即可,参照p377。由于英文字母又分为大写字母和小写字母,因此此处用一个逻辑或表达式,表示ch中是小写字母或者大写字母,都能使得表达式成立。ch>=97&&ch<=122|| ch>=65&&ch<=90

需要注意的是,对于本题区间所对应的表达式,不可写作97<=ch<=122,也不可写作’A’<=ch <=’Z’. 对于97<=ch<=122因为在计算此表达式时的顺序是从左向右,因此先计算97<=ch。无论ch中的取值如何,表达式97<=ch的值只有两种情况:0或1.所以无论是0还是1,都小于122,因此97<=ch<=122恒成立。

第3空,判断ch中是否为空格,也是通过ch中字符与空格字符的ASCII码来判断。在判断表达式的值是否相等时,用关系符号==;不要用赋值符号=。

2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入0来结束输入,用i,j来放统计数,请填空完成程序。

void main()

{ int n,i=0,j=0;

printf(“input a integer,0 for end\n”);

scanf(“%d”,&n);

while (n或n!=0 ) {

if(n>0) i=i+1 ;

else j=j+1;

}

printf(“i=%4d,j=%4d\n”,i,j);

}

此题用i来记录大于零的整数,用j记录小于零的整数。所以循环条件是n(或者n!=0)即当n不为0时执行循环体。在循环体中是一个选择语句。如果n>0,则令i加1,相当于令正整数的个数加1;否则(即n<0),令j加1,相当于令负整数的个数加1。

3.编程计算1+3+5+……+101的值

#include

void main()

{int i, sum = 0;

for (i = 1;i<=101 ; i=i+2; )

sum = sum + i;

printf("sum=%d\n", sum); }

for语句的一般形式详见p120.

表达式1为i = 1,为循环变量赋初值,即循环从1开始,本题从1到101,因此终值是101,表达式2是循环条件,用来控制循环的结束,因此循环条件为i<=101;表达式3为循环变量的自增,本题是

4.编程计算1+3+5…+99的值

main()

{int i, sum = 0;

i=1;

while (i<100 )

{sum = sum + i;

I=i+2 ; }

printf("sum=%d\n", sum);

}

5.从键盘输入一个字符,判断它是否是英文字母。

#include

void main()

{char c;

printf("input a character:");

c=getchar();

if(c>=‘A’ &&c<=‘Z’ || c>=‘a’ &&c<= ‘z’) printf("Yes\n"); else printf("No");

}

6. 下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。

#include

void main()

{ int a[10],i,x;

printf(“input 10 integers:”);

for(i=0;i<10;i++)

scanf(“%d”,&a[i]);

printf(“input the number you want to find x:”);

scanf(“%d”,&x );

for(i=0;i<10;i++)

if(x==a[i] )

break;

if(i<10 )

printf(“the pos of x is:%d\n”,i);

else printf(“can not find x!\n”);

}

7.程序读入20个整数,统计非负数个数,并计算非负数之和。

#include

main( )

{ int i, a[20], s, count;

s=count=0;

for(i=0; i<20; i++)

scanf(“%d”, &a[i] );

for(i=0; i<20; i++)

{ if( a[i]<0 ) continue ;

s+=a[i];

count++;

}

printf(“s=%d\t count=%d\n”, s, count”);

}

8.输入一个正整数n (1

#include

int main(void){

int i, index, k, n, temp;

/* 定义1个数组a,它有10个整型元素*/ printf(“Enter n: ");

printf(“Enter %d integers: ", n);

for(i = 0; i < n; i++)

scanf("%d", &a[i]);

for(k = 0; k < n-1; k++){ /* 对n个数排序*/

index = k;

for( )

if( ) index = i;

}

printf("After sorted: ");

for(i = 0; i < n; i++) /* 输出n个数组元素的值*/

return 0;}

二年级C语言程序填空题答题技巧

二年级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/6b17369947.html, 3、结构体中成员的调用格式。结构体中的成员分为多种类型,调用结构体重的成员,使用的是“.”或者是“—>”运算符。得到结构体中学生分数,a— >score[i]。 4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。 (四)、函数题目(重点)

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

2012年计算机二级C语言程序填空题及答案解析精选

2012年计算机二级C语言程序填空题及答案解析精选 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #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); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; 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 if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。

main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); }

C语言程序填空

程序填空 第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语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

c语言程序填空题

#include void main() { int i,j,a[3][4],min; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",a[i][j]); max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(min void main() { int i,j,arr1[2][3]={{2,4,6},{1,3,5}},arr2[3][2]; printf("Array arr1:\n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf("%5d ", arr1[i][j]); Arr2[j][i]= arr1[i][j]; } printf("\n"); } printf("Array arr2:\n"); for(i=0;i<3;i++) { for(j=0;j<2;j++) printf("%5d ",arr2[i][j]); printf("\n"); } } #include void main() { int f[20]={1,1},i; for(i=2;i<20;i++) f[i]=f[i-1]+f[i-2]; for(i=0;i<20;i++) { if(i%5==0) printf("\n"); printf("%5d ", f[i]);

} } #include void main() { int j,m; for(j=3;j<=1000;j++) { for(m=2;m<=j-1;m++) if( ) break; if(m>j-1) ; } } #include #define IA(x) =’a’&&x<=’z’> void main() { char str[80],*s,ch; int count=0; gets(str); s=str; while(*s) { ch=*s++; if(IA(ch)) count++; } printf("the sum is %d\n", count); } #include void main() { int i,s,sum; sum=0; for(i=0;i<50;i++) { scanf("%d",&a); if(a<0) ;

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

二级C语言程序填空

【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #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); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; 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 if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2)

{ ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。 fun(int x,int b[])

c语言程序填空题(1)

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #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); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i;

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

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

计算机二级C语言题库之程序填空

计算机二级C语言题库之程序填空 找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1 #include <stdio.h> #include<math.h> void main() { int i,a,b,c; for(i=100;i<=999;i++) { a=i/100; _______1_______ // b=i%100/10; c=i%10; if (________2________) // a*a*a+b*b*b+c*c*c = = i printf("%d is a Armstrong number!\n",i); } } 输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。#include <stdio.h> void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ){ // n!=0 k++; _____2_____; // n=n/10 } printf("%d\n",k); } 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include <stdio.h> #include <math.h> void main() { int n,s=0; scanf("%d",&n); ______ 1 ______ // if (n<0) n=-n; while(n!=0) { ______ 2 ______ // s+=n%10; n=n/10; } printf("%d\n",s);

c语言程序填空(含答案)

【程序填空】 功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 len=length(str...); I.nt length ........(p) N.++..; P.++..; 【程序改错】 功能:将一个字符串中的大写字母转换成小写字母。 bool (char) ......fun(char *c) fun= c;(return *c) .......... puts(*p);(putchar(*p)) ............. 【程序设计】 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include void wwjt(); void swap(int *a,int *b) { /**********Program**********/ /********** End **********/ } main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(xn2 .....) swap(pointer1,pointer2);

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

全国计算机等级考试二级教程C语言程序设计课后习题答案

全国计算机等级考试二级教程C语言程序设计课后习题答案

《全国计算机等级考试二级教程--C语言程序设计》课后习题答案 第一章 1.1 EXE 1.2 C OBJ EXE 1.3 顺序选择循环 第二章 一. 选择题 2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B 2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A 二. 填空题 2.14 11 12 2.15 4.2 4.2 2.16 { } 定义执行语句 2.17 关键字用户标识符 2.18 int float double 2.19 float a1=1; float a2=1; 2.20 存储单元 2.21 3.5 2.22 (a*b)/c a*b/c a/c*b 2.23 把常量10赋给变量s 2.24 位1或0 2.25 8 127 0111111 -128 10000000 2.26 32767 -32768 0000 2.27 10 8 16 三. 上机改错题 2.28 #include "stdio.h"; 删除行尾的";" main(); / * main function * / 删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/” 函数开始处遗失了一个“{” float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用 r = 5.0 ; s = 3.14159 * r * r ; printf("%f\n",s) 行尾遗失了“;” 函数结束处遗失了一个“}” 2.29 #include "stdio.h" main /* main function */ main后遗失了“()” { float a,b,c,v; /*a,b,c are sides, v is volume of cube */ a=2.0; b=3.0; c=4.0 行尾遗失了“;”

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

国家二级C语言机考程序设计题技巧

计算机国家二级C机考程序设计题技 巧 双击桌面上的,启动计算机等级考试二级模拟软件;启动软件后出现如下界面,选择练习模式后确定: 之后出现下面窗口,选择一套题,我们提供的模拟软件中共提供了50套模拟题目,这50套题目分别对应着二级上机题库的前50套题。输入1-50之间的数字确定后就可以抽取相应的题目,例如输入1后确定,按任意键继续。 桌面上出现了下图所示的窗口(取名:状态条) 和下图所示的窗口(取名:题目窗口)

考生状态条上面显示抽取的题目的序号和考试已经用去的时间。 考生窗口的左上角显示了考生的目录,图中的考生目录为:D:\Exam\24010001,从考生窗口的右上角可以看出,机考共有三个题目,分别是程序填空题、程序修改题,程序编写题。

做程序填空题的步骤如下: 1.选择考生窗口右上角的程序填空题按钮,就会在下面的空白区域出现填空题的具体题目和要求。考生读完题目要求之后就可以开始答题了。选择题目窗口左上角的答题菜单中的“启动Microsoft visual c++”选项就可以启动vc 编译软件。 2.选择文件菜单下的打开选项,如图所示: 之后会弹出一个打开窗口: 在窗口的1处单击,找到考生目录所指示的目录,本题的目录为D:\Exam\24010001,找到目录:

可以发现里面包含有三个文件,分别是blank1.c,modi1.c,prog1.c三个文件,这三个文件分别对应着填空题,修改题和程序设计题。做填空题只需要选中blank1.c后单击窗口右下角的打开按钮即可。这时vc编译软件就会帮我们打开这个文件,并出现填空题的代码。具体做题步骤参考《二级上机题库》第12页,对于程序修改题做题方法参照填空题,参见《二级上机题库》第75页。 下面详细介绍程序设计题的做题技巧: 对于程序设计题,我们分了一下三大类: 第一种:在考生的目录文件夹下含有in.dat文件:前50题中的: 1,3,4,5,7,8,9,10,12,13,15,17,18,19,22,24,25,26,27,28,29,30,31,32,35, 37,38,39,40,41,42,43,44,45,46,50属于第一类。 第二种:在考生的目录文件夹下找不到in.dat文件:前50题中的: 2,11,16,23,33,36,47属于第二类。

c语言程序填空题

程序填空题 1.下述程序是一个选择排序程序,请填完整空缺部分。 Void select _sort (int p [ ], int n ) { int i, j, k, temp; for ( i =0 ;i main()

{ int a, b, c , i; a = c = 0 ; for(i=0;i<=10;i+=2) { a + = i ; b=i+1; c += b ; } printf ( “偶数之和= %d \n “, a ) ; printf ( “奇数之和= %d \n “, c –11 ); } 3.下面程序的功能是:输出100 以内能被3 整除且个位数为6 的所有整数,请填空: main() { int i , j ; for ( i = 0 ;i<10; i + + ) { j = i * 10 + 6 ; if ( j%3!=0 ) continue ; printf ( “ %d” , j ) ; } } 4.程序读入20个整数,统计非负数的个数,并计算非负数之和。#include “stdio.h”

相关文档
最新文档