C语言习题集

合集下载

C语言程序设计习题集

C语言程序设计习题集

A. 从左起输出该字符串,右补空格
B. 按原字符长从左向右全部输出
C. 右对齐输出该字符,左补空格
D. 输出错误信息
25. 判断字符型变量 ch 为小写字母的表达式是()。
A.‘a’<=ch<=’z’
B. (ch>=a)&&(ch<=z)
C. (ch>=’a’)||(ch<=’z’)
D. (ch>=’a’)&&(ch<=’z’)
C. char a[10];a=”C program”;
D. char a[10]={“C program”};
29. 若用数组名作为函数调用的实参,传递给形参的是()。
A. 数组的首地址
B. 数组第 1 个元素的值
C. 数组中全部元素的值
D. 数组元素的个数
30. 若有如下定义,则对 a 数组元素地址的正确引用是()。
int a[5],p=a;
A. P+5
B. *a+1
C. &a+1
D.&a[0]
二、判断题
1. 在每个 C 程序中都必须并且只能有一个 main()函数。
()
2. 在 C 语言中,整型数据与实型数据在任何情况下都可以通用。
()
3. 在 C 语言程序中,happy 是正确的标识符。
()
4. 在 if 语句中,if 子句与 else 子句都可以单独使用,构成了 if 语句的两种默认形式。 ()
14. 下以程序运行结果是()。
main()
{ int a=2,i;
for(i=0;i<3;i++)
printf(“%4d”,f(a));}

C语言习题集及答案..

C语言习题集及答案..

目录第一单元程序设计和C语言 (1)第二单元顺序程序设计 (3)第三单元分支程序设计 (7)第四单元循环程序设计 (14)第五单元数组........................................................................ 错误!未定义书签。

第六单元函数........................................................................ 错误!未定义书签。

第七单元指针........................................................................ 错误!未定义书签。

第八单元结构体和共用体........................................................ 错误!未定义书签。

第九单元文件........................................................................ 错误!未定义书签。

附加题............................................................................................ 错误!未定义书签。

模拟试卷一.................................................................................... 错误!未定义书签。

模拟试卷二.................................................................................... 错误!未定义书签。

模拟试卷三.................................................................................... 错误!未定义书签。

c语言习题集及答案

c语言习题集及答案

计算机系统概述一、简答题1.什么是计算机系统?包括哪几部分?答:计算机系统是一种动态实体,用于解决问题以及与它所处的环境进行交互;计算机系统包括硬件、软件和它们管理的数据。

3.简述计算机软件各个时代的主要特征。

答:第一代机器语言编写,第二代高级语言编写,第三代出现操作系统,第四代出现结构程序设计,第五代出现面向对象的程序设计语言。

4.计算机是如何分类的?答:按工作原理和运算方式分为数字电子计算机(Digital Computer)、模拟电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer);按设计目的分为通用计算机和专用计算机;按用途科学计算、工程计算机用的计算机、工业控制用的计算机和数据处理用的计算机;按规模和性能分为巨型机、大型机、小型机、微型机、工作站、服务器、网络计算机和嵌入式计算机等。

5.计算机具有哪些特点?答:运算速度快、精度高;具有逻辑判断功能;具有记忆功能;自动化程度高、通用性强。

6.衡量计算机性能的指标有哪些?答:从几个方面衡量,衡量cpu的指标有字长、时钟周期和主频,衡量内存的指标有内存容量、存取周期,衡量外设的指标有输入输出最高频率。

7.简述计算机主要应用在哪些方面。

答:科学计算、信息传输和信息处理、实时控制、辅助功能(设计/制造/教学)、艺术和娱乐。

8.简述计算机系统抽象分层,及每一层的功能。

答:主要分为七层,信息表示层反映了在计算机上表示信息的方式,它是一个纯概念层;硬件层探讨计算机系统的物理硬件组成;程序设计层负责解决人们的一些问题、用于实现计算的指令以及管理数据;操作系统层用来管理计算机的各种资源,提供人与计算机交互的接口;网络通信层是计算机系统运行的基础,计算机连接到网络上共享信息和资源;应用软件层的重点则是将计算机与一个实际应用领域相结合。

计算机中的信息表示一. 判断题1.二进制数在计算中很重要,因为二进制数可以被转换成以任何数为基数的数。

C语言习题集(含答案)

C语言习题集(含答案)

一、单选题:(1)在C语言提供的合法的关键字是( )A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)’\084’ B) ’\x43’C)’ab’D) "\0”(3)若有定义和语句:char s[10]: s="abcd”;printf(”%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p,a=10, b=20;pp=&p;p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10,20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n”,u, v, w);则输出结果是()A) 8,16,10B)10,10,10 C)8,8,10 D) 8,10,10 (6) 若有以下定义和语句char c1=' b', c2='e’;printf(”%d,%c\n", c2-c1,c2—'a’+”A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7)若有以下定义:char s[20]=”programming”,*ps=s;则不能代表字符o的表达式是( )A)ps+2 B) s[2]C) ps[2]D) ps+=2,*ps(8)若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是() for (i=5; i; i—-)for(j=0;j<4; j++){。

}A) 20B) 25 C)24 D) 30(9)若有以下定义和语句:char *s1=”12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是()A)4B)5 C)9 D)10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是()A) *p B) a[10]C)*a D)a[p-a](11)下面程序的输出是()main(){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);A) k=3 a=2 b=3 B) k=3 a=3 b=2C)k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main(){ unsigned a=32768;printf("a=%d\n”,a);}运行结果: —32768A)a=—32768 B)a=32767C)a=-32767 D)a=—1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){case1.0:printf("*\n”);{case1, 2:printf(”*\n”);case2。

C语言习题集(含答案).

C语言习题集(含答案).

一、单选题:(1) 在C语言提供的合法的关键字是()A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)'\084' B) '\x43'C)'ab' D) "\0"(3)若有定义和语句:char s[10]: s="abcd"; printf("%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p, a=10, b=20;pp=&p; p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10, 20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010, v=0x10,w=10;printf("%d,%d,%d\n", u, v, w);则输出结果是( )A) 8,16,10B) 10,10,10 C)8, 8,10 D) 8,10,10(6) 若有以下定义和语句char c1=' b', c2='e';printf("%d,%c\n", c2-c1,c2-'a'+"A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7) 若有以下定义:char s[20]="programming",*ps=s;则不能代表字符o的表达式是( )A) ps+2 B) s[2] C) ps[2] D) ps+=2,*ps(8) 若i, j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )for (i=5; i; i--)for(j=0; j<4; j++) {...}A) 20B) 25 C) 24 D) 30(9)若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是( )A) 4B) 5 C) 9 D) 10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是( )A) *p B) a[10]C)*a D) a[p-a](11)下面程序的输出是( )main( ){ 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);A) k=3 a=2 b=3 B) k=3 a=3 b=2C) k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main( ){ unsigned a=32768;printf("a=%d\n", a);} 运行结果:-32768A)a=-32768 B)a=32767C)a=-32767 D)a=-1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){ case1.0: printf("*\n"); { case1, 2: printf("*\n");case2.0: printf("**\n"); case3: printf("**\n");} }C) switch (a+b)D) switch (a+b);{ case 1: printf("\n"); { case 1: printf("*\n");case 1+2: printf("**\n"); case 2: printf("**\n");} }(14) 以下程序输出的结果是( )main( ){ char w[ ][10]={"ABCD","EFGH","IJKL","MNOP"}, k;for (k=1;k<3;k++)printf("%s\n",&w[k][k]);}A) ABCD B) ABCDFGH EFGKL IJMC) EFG D) FGHJK KLO(15)若数组名作实参而指针变量作形参,函数调用实参传给形参的是( )A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址(16) 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b(17) C语言中运算对象必须是整型的运算符是( )A) %=B) / C) = D) 〈=(18) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( )A) 1 B) 2 C) 2.0 D) 2.5(19) 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(20) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( )A) 0 B) 0.5 C) 1 D) 2(21) 有如下程序main( ){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是( )A) 3 4 B) 4 2 C) 4 3 D) 3 3(22) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( )A) a>=10 or a<=0 B) a>=0|a<=10C) a>=10 &&a<=0 D) a>=10 || a<=0main( ){ 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=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(24) 有如下程序main( ){ float x=2.0, y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y); }该程序的输出结果是( )A) 0.000000 B) 0.250000 C) 0.500000D) 1.000000(26) 有如下程序main( ){ int i, sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是( )A) 6 B) 3 C) 死循环D) 0main ( ){ int x=23;do{ printf(“%d”,x--);} while(!x); }该程序的执行结果是( )A) 321 B) 23C) 不输出任何内容D) 陷入死循环(28) 有如下程序main( ){ int n=9;while(n>6) {n--; printf(“%d”,n); } }该程序段的输出结果是( )A) 987 B) 876C) 8765 D) 9876(29) 设有说明语句:char a=’\72’;则变量a( )A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法(30) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是( )A) 3 B) 4 C) 5 D) 有语法错(31) 有如下程序int func(int a,int b){ return(a+b); }main( ){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r); }该程序的输出的结果是( )A) 12 B) 13 C) 14 D) 15int *p, a=10,b=1;p=&a; a=*p+b;执行该程序段后,a的值为( )A) 12 B) 11 C) 10 D) 编译出错(33) 对于基类型相同的两个指针变量之间,不能进行的运算是( )A) < B) = C) + D) -(34) 有如下程序long fib(int n){ if (n>2) return(fib(n-1)+fib(n-2));else return(2);}main( ){ printf(“%d\n”, fib(3)); }该程序的输出结果是( )A) 2 B) 4 C) 6 D) 8(35) 在C语言中,函数的隐含存储类别是( )A) auto B) static C) extern D) 无存储类别(36) 有如下程序#define N 2#define M N+1#define NUM 2*M+1main( ){ int i;for(i=1;i<=NUM;i++) printf(“%d\n”,i);}该程序中的for循环执行的次数是( )A) 5 B) 6C) 7 D) 8char fun(char *p){ return p; }该函数的返回值是( )A) 无确切的值B) 形参p中存放的地址值B) 一个临时存储单元的地址D) 形参p自身的地址值(38) 有如下程序段int a=14,b=15,x;char c=’A’;x=(a&&b)&&(c<’B’);执行该程序段后,x的值为( )A) true B) false C) 0 D) 1(39) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;则数值为9的表达式是( )A) *p+9 B) *(p+8) C) *p+=9 D) p+8(40) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是( )A) &t[3][2] B) t[3] C) t[1] D) t[2](41) 有如下程序main( ){ char ch[2][5]={“6937”,”8254”}, *p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’; j+=2)s=10*s+p[i][j]-‘0’;printf(“%d\n”,s); }该程序的输出结果是( )A) 69825 B) 63825 C) 6385 D) 693825(42)若有以下的定义:int a[ ]={1,2,3,4,5,6,7,88,9,10}, *p=a;则值为3的表式是( )A) p+=2, *(p++) B) p+=2,*++pC) p+=3, *p++ D) p+=2,++*p(43)假定所有变量均已正确说明,下列程序段运行后x的值是( )a=b=c=0; x=35;if (!a) x--;else if(b) ; if(c) x=3; else x=4;A)34 B)4 C)35 D)3(44)在以下一组运算符中,优先级最高的运算符是( )A)<= B)= C)%D)&&(45)若有以下定义和语句:int w[2][3], (*pw)[3]; pw=w;则对w数组元素非法引用是( )A)*(w[0]+2) =*w[0][2]B)*(pw+1)[2]C)pw[0][0] =*w[0][0]D)*(pw[1]+2) =*w[1][2](46)若有以下程序片段:char str[ ]="ab\n\012\\\"";printf("%d\n", strlen(str));上面程序片段的输出结果是( )A)3 B)4 C)6D)12(47)函数调用strcat(strcpy(str1,str2),str3)的功能是( )A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中(48)以下对C语言函数的有关描述中,正确的是( )A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用解释:C函数可以递归调用,但不允许嵌套定义C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中(49) 以下叙述中不正确的是( )A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值.B) 在C中,调用函数时,实在参数和对应形参在类型上只需赋值兼容.C) 在C中, 外部变量的隐含类别是自动存储类别.D)在C中, 函数形参可以说明为register变量.(50) 以下程序的输出结果是( )#define sub1(char a, char b) {char c; c=a;a=b;b=c;}#define sub2(char *a, char b) {char c; c=*a;*a=b;b=c;}#define sub3(char *a, char *b) {char c; c=*a;*a=*b;*b=c;}main( ){ char a,b;a='A';b='B';sub3(&a,&b);putchar(a); putchar(b);a='A';b='B';sub2(&a,b);putchar(a); putchar(b);a='A';b='B';sub1(a,b);putchar(a);putchar(b);}A) BABBAB B) ABBBBAC) BABABA D) BAABBA(51)错误的转义字符是( )A) '\091'B) '\\' C) '\0' D) '\''(52)设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a, b 和c的值分别是( )A) 2, 1, 2 B) 2, 0, 3 C) 2, 2, 3 D) 2, 1, 3(53) 在C语言中,错误的常数是( )A) 1E+0.0B) 5 C) 0xaf D) 0L( 54) 设int k; 则语句for(k=0; k=1; k++);和语句for(k=0; k==1;k++);执行的次数分别是( )A) 无限和0B) 0和无限C) 都是无限D) 都是0(55)某文件中定义的静态全局变量(或称静态外部变量)其作用域是( )A) 只限某个函数B) 本文件C) 跨文件D)不限制作用域二、程序填空题:(10) 函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)现在请你在下面的函数中填空,完成求π的功能。

C语言(编程)设计习题集

C语言(编程)设计习题集

5.1 利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用A表示,60-89分 之间的用B表示,60分以下的用C表示。
#include “stdio.h” int main() { int score; char c1=‘A’,c2=‘B’,c3=‘C’; printf(“Please input score:\n”); scanf(“%d”,&score); printf(“%c\n”,score>=90?c1(score>=60?c2:c3)); return 0; }
5.2 编程输出九九口诀。
#include “stdio.h” int mian() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf(“%4d”,i*j); } printf(“\n”); } return 0; }
5.3 编程实现以下功能:读入两个操作 数(data1和data2)及一个运算符 (op),计算表达式data1 op data2 的值,其中op可以是+、-、*、/(分别用 if语句和switch语句加以实现)。
4.2 输入一个华氏温度,要求输出摄氏温 度,公式为c=5/9(F-32),输出要有文字说 明,取两位小数。
#include “stdio.h” int main() { float c,f; printf(“Please input c:\n”); scanf(“%f”,&f); c=5.0/9.0*(f-32); printf(“%.2f\n”,c); return 0; }
2.4 打印出1-500之间的素数。
#include “stdio.h” int main() { int n,k,i,t; for(n=1;n<=500;n+=2) { k=(int)sqrt(1.0*n) for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1) printf(“%3d\n”); return 0; }

C语言习题集(平时练习含答案)1

C语言习题集第一章C语言概述复习要点:1. 程序的构成,main函数和其他函数。

2.语句,注释3.运行C程序的步骤和方法习题:1.C程序是由函数构成的,一个C程序中至少包含一个main函数。

2.函数是C程序的基本单位。

(最小单位是表达式)3.C程序有且只有一个main函数。

4.C程序从main函数开始执行。

5.C程序注释符是由/*和*/组成,且不能嵌套使用。

6.C程序的语句是以; 结束。

7.C程序一条语句可分多行写,需要以为连接符。

(可以直接换行)8.C程序可以用{ 和} 将多条语句括起来,形成复合语句。

9.上机运行一个C程序必须经过源代码输入,编译,连接,运行4个步骤。

10.C程序的源文件扩展名是。

c 。

11.以下叙述中正确的是(C)A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,main必须小写,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数12.以下叙述中错误的是(D)A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令13.以下不是语句的是(A)A) a=10 B)a=b+c;c=20;C) ; D){a=b;b++;}14.运行以下程序main(){int a=10; /* 定义一个变量 aa=20; */printf(“%d”,A); 此程序应该改写为:printf(“%d”,a)}输出的结果是 B 。

A) 10 B)2015.牢记VC++6.0的出错提示英文提示中文实际意义missing ; , ( { 等表示缺少;,( {'T' : undeclared identifier T没有定义(T要先定义然后才能使用)'sqrt' undefined; sqrt如果是函数名则表示它的头文件没有包含'T' : redefinition T重复定义(可能是多次定义了T)Cannot open include file 头文件的拼写或路径的不对第二章数据类型,运算符与表达式复习要点:1. C的数据类型(整型,字符型,浮点型)及其定义方法。

C语言章节习题集(全).docx

C语言程序设计第一、二章单项选择题1.将汇编语言编写的程序翻译成目标程序的程序是()A)解释 B)编译 C)汇编 D)目标2.不属于面向机器语言的是()A)符号语言 B)二进制语言 C)汇编语言 D)C 语言3.将高级语言编写的程序翻译成目标程序的程序是()。

A)解释 B)编译 C)汇编 D)二进制4.不属于高级语言的是()。

A)BASICB)CC)ALGOLD)符号语言5.程序段的基本结构中,不包含()。

A)函数结构 B)循环结构 C)顺序结构 D)分支结构6、C语言源程序的最小单位是()。

A、程序行B、语句C、函数D、字符7、以下说法正确的是()。

A、在C语言中,要调用的函数必须在main() 函数中定义B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中, main() 函数必须放在程序的开始部分D、C语言程序总是从main() 函数开始执行8、以下对 C语言描述中正确的是()。

A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对 C语言源程序执行过程描述正确的是()。

A、从main()函数开始执行,到main() 函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、从 main 函数开始执行,到源程序的最后一个函数结束D、从第一个函数开始执行,到 main 函数结束。

填空题1.能完成某个任务的、有始有终的 C语言 ___称为 C 程序。

2.用来编写程序的计算机语言称为 ____。

3.高级语言编写的程序称为 ____。

4.用C语言编写的源程序简称为“C程序”,扩展名规定为“____”。

5.C 程序经过“编译”后将获得扩展名为“OBJ”的 ____。

6.C 程序经过编译后获得的中间代码文件还需要经过____,才能成为可执行的“程序”,目标程序的扩展名规定为"EXE"。

C语言全部章节习题集(参考答案)

}
选择结构答案
一、单项选择题
1.B 2.A 3.D 4.C 5.D 6.B 7.C
二、填空题
1. 5 5 4
5 5 4
3 3 4
2. 4 0
3. VeryGood
Good
VeryGood
A. 8 B. 4 C. 2 D. 出错
14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为( D )。
A. 4 B. 3 C. 2 D. 1
15、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。
{ float a,b,temp;
printf("input a and b:");
scanf("%d,%d",&a ,&b);
temp = a; a = b; b = temp;
printf("a=%d , b=%d\n", a , b);
scanf(“%f”,&t);
if(t>=90) ch=’A’;
else if(t>=80) ch=’B’;
24、下列不正确的转义字符是( C )。
A. \\ B. \' C. 074 D. \0
二、填空题:
1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。

c语言练习题集

一、 C 语言概述练习题(一)选择题1. 一个C 程序的执行是从程序的执行是从 。

A) A) 本程序的本程序的main 函数开始,到main 函数结束函数结束B) B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) C) 本程序文件的第一个函数开始,到本程序本程序文件的第一个函数开始,到本程序main 函数结束函数结束D) D) 本程序的本程序的main 函数开始,到本程序文件的最后一个函数结束2. 以下叙述不正确的是以下叙述不正确的是 。

A) A) 一个一个C 源程序必须包含一个main 函数函数B) B) 一个一个C 源程序可由一个或多个函数组成源程序可由一个或多个函数组成C) C 程序的基本组成单位是函数程序的基本组成单位是函数D) D) 在在C 程序中,注释说明只能位于一条语句的后面3. 以下叙述正确的是以下叙述正确的是 。

A) A) 在对一个在对一个C 程序进行编译的过程中,可发现注释中的拼写错误B) B) 在在C 程序中,程序中,main main 函数必须位于程序的最前面函数必须位于程序的最前面C) C 语言本身没有输入输出语句语言本身没有输入输出语句D) C 程序的每行中只能写一条语句程序的每行中只能写一条语句4. 一个C 语言程序是由语言程序是由 。

A)A)一个主程序和若干个子程序组成一个主程序和若干个子程序组成一个主程序和若干个子程序组成B) B) 函数组成函数组成函数组成C) C) 若干过程组成若干过程组成若干过程组成D) D) 若干子程序组成若干子程序组成若干子程序组成二、数据类型、运算符与表达式(一)选择题1. 若x 、i 、j 、k 都是int 型变量,则计算下面表达式后,x 的值为的值为 。

x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522. 下列四组选项中,均不是C 语言关键字的选项是语言关键字的选项是 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言习题集
1. 编写程序,在屏幕上输出以下两行文本(用一个printf()
产生)
Uppercase i is I'‘
Lowercase I is ‘i '
2. 编写程序,给2个整型变量a和b分别赋值8进制的225和16进制的12e,并用printf() 输出变量
a所对应的10进制、8进制、16进制数值。

(输出8 进制整数的格式符为%o 输出16进制整数的格式符为%x)
3. 定义2个长整型变量a和b,并分别赋值1345678和1,编写程序求a与b的和、差、积、商并
输出。

(输出长整型数据的格式符为%ld)
4. 定义圆半径为一个双精度型变量r,并赋值
5.25,编写程序求该圆的周长和面积(口取
3.14 )并输出。

(输出实数的格式符为%f)
5. 假定一个字符变量C1的值为小写的‘c'编写程序,将其转换成大写的’C',并输出大写的’C'的
ASC n码值。

6. 编写程序,将一个三位数387 的个位、十位、百位分离后输出,输出结果为:a=3,b=8,c=7
7. 编程计算出-48%9、48%-9 及-48%-9 的结果
8. 假设每次运算时i 的初值均为16,求i+++i 和--i-i 的值
9. 编写程序,将”China”译成密码,密码规律:用原来的字母后面第4个字母代替原来的字母,
例如:字母“ A”后面第4个字母是”E”用”E”代替“ A”因此,“China”应译为
“ Glmre ”并输出。

10. 编写程序, 输出双引号”和反斜杠 ,并以3位8 进制数和2 位16进制的转义字符形式输出大
写的字母A。

11. 已知x=3.6,y=4.2.编写程序,求表达式x+y及(int)x%(int)y的值
12. 设b=35.425,c=52.954,编写程序,求b*c并将其值整数化后赋给a1;再将c除以b的值
赋给a2
13. 已知a=7, b=3, x=2.5, y=4.7, 编写程序,求表达式(float)(a+b)/2+a%3*(int)(x+y)%2 的值
14. 用getchar()和putchar()编写从键盘接收一个字符并输出的程序。

15. 已知a=123,b=12345678,编写程序,输出a和b所对应的十进制数、十六进制数。

16. 已知a=654.12345,编写程序输出以下结果:654.123450:
: 654.12:
:654.12 :
:6.54e+02:
17. 已知字符数组s[]=”welcome to hengyang”, 编写程序输出以下结果:
: welcome to hengyang:
: welcome to hengyang :
: welcome :
18. 已知银行定期存款的年利率rate 为2.25% ,并已知存款期为n 年,存款本金为capital 元,编
写程序,计算n年后的本利之和deposit。

要求定期存款的年利率rate、存款期n、存款本金capital 均由键盘输入,本利之和deposit 只要显示 2 位小数。

19. 编写程序,输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-32), 输出结果取3
位小数。

20. 已知a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c仁'a',c2='b编写程序,使程序能得到
以下的输出格式和结果:
a=3,b=4,c=5 x=1.200000,y=2.400000,z=-3.600000 x+y=3.60,y+z=-1.20,z+x=-2.40 u=51274,n= 128765
c1='a'or 97
c2='b'or 98
21. 编程输出下列表达式的结果:
5&3, 5&4,5|3,5|4,5&&3,5&&5,5||3,5||5
11. 输入a 、b 两个整数,如果a=b,则在屏幕输出2行
OK!
a=b=赋值”
12. 输入a 、b 两个整数,如果a=b, 则在屏幕输出2 行
OK!
"a=b=赋值” 否则,则在屏幕输出2 行
No!”
"a=赋值b=赋值"
13. 输入a 、b 两个整数,
如果a=b, 则在屏幕输出: “ a=b” 如果
a>b, 则在屏幕输出: “ a>b”
否则,在屏幕输出: “ a<b”
14. 用IF的嵌套编写程序,将输入的三个整数x,y, z,求出3个数当中最大的数。

15. 用switch编一程序,输入 A B C D后分别输出"pefect ""good”pass"和"NG ',否则显示“ input error"
16. 用IF的嵌套编写程序,将输入的三个整数x,y, z,按大小从左至右依次排列。

17. 根据输入的年份判断是否为闰年 (能被4整除但不能被1 00整除或能被400整除的年份为闰年)
18. 用
switch编一程序,如输入的分数score>90,则输出"pefect" 70<
score<90,则输出"good 60< score<70 则输出pass"
其他则输出 "Fail '
19. 用switch编一程序,根据键盘输入的月份,输出对应的季度,如输入3则输出“Spring”。

相关文档
最新文档