C语言习题
c语言习题(带答案)
一、选择1若有表达式(a)(--x):(++y),则其中与a等价的表达式是A)a==1B)a==0C)a!=1D)a!=02有以下程序段intx,y,z;x=10;y=50;z=30;if(x>y)x=y,y=z;z=x;printf(“x=%dy=%dz=%d\n”,x,y,z);程序的输出结果是A)x=10y=50z=10B)x=10y=50z=30C)x=10y=30z=10D)x=50y=30z=503下面的函数调用语句中func函数的实参个数是f(f2(u1,u2),(u3,u4),(u6,max(u7,u8)));A)3B)4C)5D)84 以下叙述中错误的是A)用户定义的函数中可以没有return语句B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达6有以下程序#include<>voidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={11,12,13,14,15,16,17,18,19,20},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序的运行结果是A)11,12,13,14,15,16,17,18,19,20B)12,11,14,13,16,15,18,17,20,19C)20,19,18,17,16,15,14,13,12,11D)20,11,12,13,14,15,16,17,18,198有以下程序main(){ int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q;q=r;printf("%d,%d,%d,%d\n",*p,"q,a,b);}程序运行后的输出结果是A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,79 .s1和s2已正确定义并分别指向两个字符串。
C语言习题
C语言习题(一) 一、判断题()1、开发C语言程序通常要经过编辑、预处理、编译、连接、装入和执行6个阶段。
()2、C语言程序由一个或多个函数组成,其中有且只有一个main函数。
()3、C语言中,所有标识符必须由一个字母 ( a ~ z , A ~ Z ) 或下划线 ( _ )开头。
()4、同一程序的各函数中定义的局部变量不可以同名。
()5、C语言中,主函数main中定义的变量称为全局变量,在整个文件中有效。
()6、C语言中,函数重载常用于设计多个进行类似任务而处理不同数据类型的同名函数。
()7、C语言中,数组名的值就是数组中第一个元素的值。
()8、在C++中,指针的作用是用来表示一个变量指向另一个变量这样的指向关系。
()9、C语言中,定义结构时,结构体中的成员名不能与程序中的其它变量重名。
()10、C语言中,声明一个结构并不分配内存,只有在定义结构变量时,才分配内存。
二、填空题1、在C语言中,定义double类型数组arr, 数组大小为20, 应写为()。
222、写出公式S=a+b+2ab的C语言赋值语句:()。
3、定义a为长度为10的字符串、并为字符串赋初值\的语句为()。
4、设ch是字符变量,则判断ch是小写英文字母的逻辑表达式为()。
5、函数的返回值也叫函数值,函数值是通过函数中的()语句获得的。
6、链表是一种非常有用的动态数据结构,只有一个指针链的链表称为()。
7、对数组a[]进行初始化的数据为{2,4,6,8,10,12,14},则a[3]被初始化为()。
8、对于 int *p, i = 5, j = 6; 执行 p = &i; p = &j; 后(*p)的值为()。
9、执行完下列语句段后, i的值为:()。
int a[3][4]={{1,2,3},{4,5,6}}, i; i= a[1][2];10、有语句struct point{int x;int y;}; point pExample; 则将pExample的成员x初始化为8的语句是()。
《C语言》练习题及答案解析
《C语言》练习题及答案解析一.选择题1.下列字符序列中,不可用作C语言标识符的是(B)。
A.abc123 B.no.1 C._123_ D._ok2.一个C语言源程序是由(B)。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成3. 正确的C语言标识符是(A )。
A._buy_2 B.2_buy C.?_buy D.buy?4.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为(A)。
A.’D’B.68 C.不确定的值D.’C’5.下列说法中,错误的是(A)。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有且仅有一个主函数6.有如下程序段,从键盘输入数据的正确形式应是(B)。
(注:└┘代表空格)float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123 B.x=1,y=2,z=3C.1,2,3 D.x=1└┘ y=2└┘ z=37.在C语言中,char型数据在内存中的存储形式是(D)。
A.补码B.反码C.原码D.ASCII码8. 下列符号中,不属于转义字符的是(B )。
A.\\ B.\0xAA C.\t D.\09. 不属于C语言关键字的是(D)。
A.int B.break C.while D.character10. 以下说法中正确的是(C)。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分11. C语言程序的基本单位是(C)。
c语言习题集及答案
计算机系统概述一、简答题1.什么是计算机系统?包括哪几部分?答:计算机系统是一种动态实体,用于解决问题以及与它所处的环境进行交互;计算机系统包括硬件、软件和它们管理的数据。
3.简述计算机软件各个时代的主要特征。
答:第一代机器语言编写,第二代高级语言编写,第三代出现操作系统,第四代出现结构程序设计,第五代出现面向对象的程序设计语言。
4.计算机是如何分类的?答:按工作原理和运算方式分为数字电子计算机(Digital Computer)、模拟电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer);按设计目的分为通用计算机和专用计算机;按用途科学计算、工程计算机用的计算机、工业控制用的计算机和数据处理用的计算机;按规模和性能分为巨型机、大型机、小型机、微型机、工作站、服务器、网络计算机和嵌入式计算机等。
5.计算机具有哪些特点?答:运算速度快、精度高;具有逻辑判断功能;具有记忆功能;自动化程度高、通用性强。
6.衡量计算机性能的指标有哪些?答:从几个方面衡量,衡量cpu的指标有字长、时钟周期和主频,衡量内存的指标有内存容量、存取周期,衡量外设的指标有输入输出最高频率。
7.简述计算机主要应用在哪些方面。
答:科学计算、信息传输和信息处理、实时控制、辅助功能(设计/制造/教学)、艺术和娱乐。
8.简述计算机系统抽象分层,及每一层的功能。
答:主要分为七层,信息表示层反映了在计算机上表示信息的方式,它是一个纯概念层;硬件层探讨计算机系统的物理硬件组成;程序设计层负责解决人们的一些问题、用于实现计算的指令以及管理数据;操作系统层用来管理计算机的各种资源,提供人与计算机交互的接口;网络通信层是计算机系统运行的基础,计算机连接到网络上共享信息和资源;应用软件层的重点则是将计算机与一个实际应用领域相结合。
计算机中的信息表示一. 判断题1.二进制数在计算中很重要,因为二进制数可以被转换成以任何数为基数的数。
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语言程序基础练习题500道附答案
c语言程序基础练习题500道(附答案)1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D)whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,0122e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f''\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0"D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)MainD)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符 B)定义不合法,s的值不确定C)使s的值包含4个字符 D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。
C语言练习题(带详解答案)
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.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的-,选项B中[与]不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的-不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%某B)a+bC)a123D)123选项A中的%,选项B中+不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的\\,$,选项D中>,#,.,-不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
C语言练习题(带详解答案)
1、编程题1.输入2个整数,求两数的平方和并输出。
#include <stdio.h>int main(void){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3.14int main(void){ double r ,area , girth;printf("please input r:\n");scanf("%lf",&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n", area);printf("the girth is %.2f\n", girth);}elseprintf("Input error!\n");return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
c语言习题带答案
基本语句练习1、若有以下程序段 D#include””void main( ){ int a=2,b=5;Printf(“a=%%d,b=%%d\n”,a,b);}其输出结果是()A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d2、以下程序段 Cfloat a=; printf(“|%6.0f|\n”,a);其输出结果是()A、||B、||C、| 3|D、|3.|3、以下程序段的输出结果是() Cfloat a=; printf(“*%010.2f*\n”,a);A、**B、**C、**D、**4、下面语句 printf(“|%8.5f|\n”,; 的输出结果是() CA、||B、||C、||D、||5、若变量都已经正确说明,则以下程序段: Ca=2; b=3; printf(a>b ”***a=%d”: “###b=%d”,a,b);A、没有正确的输出格式控制B、输出为:***a=2C、输出为:###b=2D、输出为:***a=2###b=36、执行下列程序时输入1234567,程序的运行结果为() B#include””void main( ){int x, y;scanf(“%2d%2ld”,&x,&y);printf(“%d\n”, x+y);}A、17B、46C、15D、97、已知char a; int b; float c; double d; 则表达式a*b+c-d结果为()型。
AA、doubleB、intC、floatD、char8、根据定义和数据的输入方式,输入语句的正确形式是() B已有定义float f1, f2;数据的输入方式:A、scanf(“%f,%f”,&f1,&f2);B、scanf(“%f%f”,&f1,&f2);C、scanf(“%3.2f%2.1f”,&f1,&f2);D、scanf(“%3.2f, %2.1f”,&f1,&f2);9、以下程序的输出结果为() *, *#include””void main( ){printf( “ *%f, %4.3f*\n”, , ;}10、结构化程序流程图中一般包含3种基本结构,在下述结构中不属于其基本结构的是()。
C语言习题_答案
C语言章节习题目录C语言章节习题 (1)第一章C语言概述 (2)第三章数据类型、运算符和表达式 (3)第四章顺序结构程序设计 (4)第五章选择结构程序设计 (10)第六章循环结构程序设计 (17)第7章数组习题 (25)第8章函数习题 (34)第九章预处理 (41)第十章指针 (42)第一章C语言概述一、选择题:1、一个C程序的执行是从(A)。
A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在C 语言中,每个语句必须以(D)结束.A. 回车符 B。
冒号 C。
逗号 D. 分号3、C 语言规定:在一个源程序中,main函数的位置(C)。
A. 必须在最开始B。
必须在系统调用的库函数的后面C. 可以任意 D。
必须在最后4、一个C 语言程序是由(B).A. 一个主程序和若干子程序组成B。
函数组成C. 若干过程组成D。
若干子程序组成5、下列说法中错误的是(D).A。
主函数可以分为两个部分:主函数说明部分和主函数体B。
主函数可以调用任何非主函数的其他函数C。
任何非主函数可以调用其他任何非主函数D。
程序可以从任何非主函数开始执行6、用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。
A。
生成可执行目标文件 B。
生成目标文件C. 输出运行结果 D。
自动保存源文件二、填空题:1、C 语言只有(37)个关键字和 (9)种控制语句。
2、每个源程序有且只有一个(main)函数,系统总是从该函数开始执行C语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以(\*) 符号作为开始标记,以(*\)符号作为结束标记。
4、C 语言中,输入操作是由库函数(scanf)完成的,输出操作是由库函数(printf)完成的。
5、系统默认的C 语言源程序文件的扩展名是(。
C语言练习题及答案
综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。
A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A)C)356e39、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。
计算机c语言习题(含答案)
1. 有如下程序main(){ int n[5]={0,0,0},i,k=2;for(i=0;i < k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}该程序的输出结果是 DA、不确定的值B、2C、1D、02. 执行下面的程序后,a的值为__B___main(){ int a,b;for (a=1,b=1;a < 100;a++){if (b > =20) break;if (b%3==1){ b+=3; continue; }b-=5;}}A、7B、8C、9D、103. 下述程序的输出结果是( B )。
#includemain(){int k=0,m=0;int i,j;for(i_O;i<2;i++){for(j:0;j<3;j++)k++:k一=j;}m=i+j;printf(”k=%d,m=%d”,k,m);}A、k=0,m=3B、k=O,m=5C、D)k=l,m=3D、D)k=l,m=54. 以下程序段____C__x=-1;do{x=x*x;}while(!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误5. 有如下程序 Bmain(){ int n=9;while(n > 6) {n--;printf("%d",n);}}该程序段的输出结果是A、987B、876C、8765D、98766. 有以下程序main(){ int i, j;for(j=10;j < 11;j++){ for(i=9;i < j; i++)if (!(j%i))break;if(i=j-1)printf("%d",j);}}输出结果是 BA、11B、10C、9D、10 117. 以下程序的输出结果是 Amain( ){ int i;for(i=1;i < 6;i++){ if(i%2){printf("#");continue;}printf("*");}printf("\n");A、#*#*#B、#####C、*****D、*#*#*8. 以下叙述正确的是( D )A、do-while语句构成的循环不能用其它语句构成的循环来代替B、do-while语句构成的循环只能用break语句退出C、用do-while语句构成的循环,在while后的表达式为非零时结束循环。
c语言习题册及答案
第3章课后练习及作业习题指导(参考答案)作业01 C语言基础知识一、选择题1.C语言程序的基本单位是()。
A)函数 B)过程 C)子程序 D)子例程2.下列个选项中,合法的C语言关键字是()。
A)integer B)sin C)string D)void3.下列选项中,不是C语言提供的合法关键字的是()。
A)switch B)cher C)default D)case4.以下选项中合法的用户标识符是()。
A)int B)a# C)5mem D)_2435.C语言程序一行写不下时,应该()。
A)用回车换行 B)在任意空格处换行C)用分号换行 D)用逗号换行6.在C程序中,可以作为用户标识符的一组标识符是()。
A)void define WORD B)as_b3 _224 ElseC)switch —wer case D)4b DO SIG7.在C语言中,下列合法的字符常量是()。
A)’\039 B)’\x76’ C)’ab’ D)’\o’8.以下说法正确的是()。
A)C语言程序是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序是从main()函数开始执行的D)C语言程序中的main()函数必须放在程序的开始部分9.()是构成C语言程序的基本单位A)函数 B)变量 C)子程序 D)语句10.一个C语言程序总是从()开始执行的A)主过程B)主函数 C)子程序 D)主程序11.以下叙述不正确的是()A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main()函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面12.C语言规定:在一个源程序中,main()函数的位置()A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后13.以下叙述正确的是()A)在C程序中,main()函数必须位于程序的最前面B)C程序中的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误14.C语言中标识符只能由字母、数字和下划线3种字符组成,且第一个字符()A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字和下划线中任意一种字符二、填空题1.一个C语言编写的程序是从main函数开始执行的。
(完整版)C语言100个经典题目
C语言程序设计习题授课对象:信息奥赛辅导成员授课时间:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?__________________________________________________________________程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…。
___________________________________________________________________程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){printf(“%12ld %12ld”,f1,f2);if(i%2==0)printf(“\n");/*控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}}上题还可用一维数组处理,you try!题目:判断101—200之间有多少个素数,并输出所有素数。
__________________________________________________________________程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
___________________________________________________________________程序源代码:#include “math。
h”main(){int m,i,k,h=0,leap=1;p rintf(“\n”);for(m=101;m〈=200;m++){ k=sqrt(m+1);for(i=2;i〈=k;i++)if(m%i==0){leap=0;break;}if(leap){printf(“%-4d”,m);h++;if(h%10==0)printf(“\n");}leap=1;}printf(“\nThe total is %d”,h);}题目:打印出所有的“水仙花数",所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
C语言各章节练习题(含答案)
C语言各章节练习题(含答案)一、c语言概述练习题选择1.一个c程序的执行是从。
a)本程序的main函数开始,到main函数结束b)本程序文件的第一个函数已经开始,至本程序文件的最后一个函数完结c)本程序文件的第一个函数已经开始,至本程序main函数完结d)本程序的main函数已经开始,至本程序文件的最后一个函数完结2.以下描述不恰当的就是。
a)一个c源程序必须包含一个main函数b)一个c源程序可由一个或多个函数组成c)c程序的基本组成单位是函数d)在c程序中,注释说明只能位于一条语句的后面3.以下描述恰当的就是。
a)在对一个c程序进行编译的过程中,可发现注释中的拼写错误b)在c程序中,main 函数必须位于程序的最前面c)c语言本身没输入输出语句d)c程序的每行中就可以写下一条语句4.一个c语言程序就是由。
a)一个主程序和若干个子程序组成b)函数组成c)若干过程组成d)若干子程序组成二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32)a)4b)16c)32d)522.下列四组选项中,均不是c语言关键字的选项是。
a)defineiftypeb)getccharprintfc)includecasescanfd)whilegopow3.以下四组选项中,均就是不合法的用户标识符的选项就是。
(c语言标识符由字母,数字,下划线共同组成,结尾无法就是数字)a)wp_0dob)b-agotointc)floatla0_ad)-123abctemp8.未知字母a的ascii码点为十进制数65,且c2为字符型,则继续执行语句c2=‘a’+‘6’-‘3’后,c2中的值。
a)db)68c)不确定的值d)c填空题1.若存有以下定义,则排序表达式y+=y-=m*=y后的y值就是【1】。
-16intm=5,y=2;7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。
c语言编程习题及答案
c语言编程习题及答案C语言是一种广泛使用的计算机编程语言,以其高效性和灵活性而闻名。
以下是一些C语言编程习题及其答案,供学习者练习和参考。
习题1:求两个数的和编写一个C程序,输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("%d + %d = %d\n", num1, num2, sum);return 0;}```习题2:计算圆的面积编写一个C程序,输入圆的半径,计算并输出圆的面积。
```c#include <stdio.h>#define PI 3.14159int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = PI * radius * radius;printf("圆的面积是:%.2f\n", area);return 0;}```习题3:判断一个数是奇数还是偶数编写一个C程序,输入一个整数,判断并输出它是奇数还是偶数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d 是偶数。
\n", num);} else {printf("%d 是奇数。
C语言 习题
第一章 C语言概述1.1选择题【题1.1】以下不是C语言的特点的是()A.C语言简洁、紧凑B.能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D.C语言移植性好【题1.2】以下不正确的C语言标识符是( )。
A.ABC B.abc C.a_bc D.ab.c【题1.3】以下正确的c语言标识符是()。
A.%x B.a十b C.a123 D.test!【题1.4】一个c程序的执行是从( ).A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束【题1.5】一个C语言程序是由()。
A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成【题1.6】一个c程序是由()。
A.一个主程序和若干子程序组成B.一个或多个函数组成C. 若干过程组成D.若干子程序组成【题1.7】C语言派程序的基本单位是( )。
A.过程 B.函数 c子程序 D.标识符【题1.8】编辑程序的功能是()。
A.建立并修改程序 B.将c源程序编译成目标程序C.调试程序 D.命令计算机执行指定的操作1.2填空题【题1.9】c语言符号集包括【】。
【题1.10】一个c程序有且仅有一个【】函数。
【题1.11】C程序的基本单位是【】。
【题1.12】一个c派程序有【】个main( )函数和【】二个其他函数。
【题1.13】在一个C源程序中,注释部分两侧的分界符分别是【】和【】。
【题1.14】结构化设计中的三种基本结构是【】。
【题1.15】在C语言中,输入操作是由库函数【】完成的,输出函数是由库函数【】完成的。
1.3编程题【题1.16】编写一个程序,在屏幕上输出你的姓名。
试着上机编辑、编译、运行你的程序。
第二章数据类型、运算符与表达式2.1选择题【题2.1】以下结果为整数的表达式(设有int i;char c;float f;)().A.i十f B.i*c C.c十f D.i十c十f【题2.2】以下使i的运算结果为4的表达式是()。
C语言经典练习题50道(附答案)
1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。
#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。
#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。
#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。
#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。
c语言练习题55题
1.输入两个正整数,m和n,求其最大公约数和最小公倍数。
2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
3.输入一个正整数求出它是几位数;输出原数和位数。
4.输入一个正整数,输出原数并逆序打印出各位数字。
5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。
6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。
将结果输出。
7.求1!+2!+3!+……+20!,将结果输出。
8.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
9..打印出100~999之间的所有水仙花数。
10..求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。
11.给出年、月、日,计算该日是该年的第几天。
12.求一个3*3的整型矩阵对角线元素之和。
将原矩阵和求出的和输出。
13.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。
14.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。
15.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出16.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。
17..求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。
18.有一篇文章,有三行文字,每行有80个字符。
要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。
19..将20个整数放到一维数组中,输出该数组的最大值和最小值。
20..将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。
21..将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。
22..编写一个程序,将两个字符串连接起来,不要使用strcat函数。
23..编写一个程序,将字符数组a中的全部字符复制到字符数组b中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习题 2015-2016(2)重修)判断1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .BAK 的文件。
( )2.在 C 程序中, APH 和 aph 代表不同的变量。
( )3.C语言中数据类型只有整型、实型和字符型。
( )4.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。
()5.Break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。
()6.函数strlen("ASDFG\n")的值是7。
()7.结构体类型只有一种。
()8.构成数组的各个元素可以有不同的数据类型。
( )9.C语言中字符串的结束符是'\0'。
( )10.数组名代表数组的首地址。
( )11.函数的递归调用不过是一个函数直接或间接地调用它自身。
()12.通过return语句,函数可以带回一个或一个以上的返回值。
()13.Char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
()14.若有定义:char *p(char a[10]);则p是函数名。
()15.用fopen("file","r+");打开的文件"file"可以进行修改。
()C概述,数据类型,运算符,表达式,选择结构1.以下叙述中正确的是()。
A.程序设计的任务就是编写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上三种说法都不完整2. C语言源程序的基本单位是()。
A.过程B.函数C.子程序D.标识符3. C语言规定,在一个源程序中main函数的位置()。
A.必须在最开始B.必须在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后4.以下叙述中正确的是()。
A.C语言系统以函数为单位编译源程序B.main函数必须放在程序开始C.用户定义的函数可以被一个或多个函数调用任意多次D.在一个函数体内可以定义另外一个函数5. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一种字符6.下面四个选项中,均是合法转义字符的选项是()A.'\'' '\\' '\n'B.'\' '\017' '\"'C.'\018' '\f' 'xab'D.'\\0' '\101' 'xlf'7.下面四个选项中,均是不合法的用户标识符的选项是()A.A P_0 doB.float la0 _AC.b-a goto intD._123 temp INT8.已知有声明 char c='1';int x=300;float t=35000;double d=3.1234567e10; ,则以下表达式求值时除( )外其结果都可能是不准确的。
A.x=t/cB.t=d/xC.t=d/le5fD.t=x+c9.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为()。
A.3B.3.0C.3.89D.4.010.已知有声明"int a=3,b=4,c=5;",以下表达式中值为0的是()。
A.a&&bB.a<=bC.a||b&&cD.!(!c||1)11.有)12.执行了以下程序段后,x、w的值为()。
int x=0,y=1,z=2,w;if(x++) w=x;else if(x++&y>=1) w=y;else if(x++&&z>1) w=z;A.0、1B.1、1C.2、1D.3、213.寺14.已知有声明"long x,y;"且x中整数的十进制表示有n位数字(4<n<10),若要求去掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是()。
A.y=x/(10*(n-1))B.y=x%(10*(n-1))C.y=x%(long)pow(10,n-1)D.y=x%(10^(n-1))15.下列程序的输出结果是()。
main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A.5B.1C.0D.不确定值16.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。
A.7B.8C.9D.217.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534; a=(int)125.521%4; a=5<<2;A.125,31,1B.125,1,20C.125,31,20D.125.534,2,2018.若有以下程序段int r=8;printf("%d\n",r>>1);输出结果是()。
A.16B.8C.4D.219.若有声明:int k,a,b;unsigned long y=5; Double x=1.23;则以下表达式中正确的是()。
A.x%(-5)B.x=y[6]C.k=(a=l,b=2,&a+&b)D.a+=a-=(b=2)*(a=3)20.若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为()A.4B.16C.32D.5221.已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是()A.132<回车>B.a=1b=3c=2<回车>C.1<回车>3<回车>2<回车>D.a=1<回车>b=3<回车>c=2<回车>22.已知ch是字符型变量,则不正确的赋值语句是()A.ch=5+9;B.ch='\0';C.ch='7'+'9';D.ch='a+b';23.判断char型变量c1是否为大写字母的正确表达式是()A.'A'<=c1<='Z'B.(c1>='A')&(c1<='Z')C.(c1>='A')&&(c1<='Z')D.('A'<=c1) AND ('Z'>=c1)24.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是()A.num%2==1B.!(num%2==0)C.!(num%2)D.num%225.若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是()A.2.500000B.2.7500000C.3.500000D.0.00000026.设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()A.y=(y*100+0.5)/100.0B.x=y*100+0.5,y=x/100.0C.y=y*100+0.5/100.0D.y=(y/100+0.5)*100.027.以下正确的if语句是()A.if(n>0) printf("%f",n)printf("%f",-n);B.if(n>0){ n=n+m;printf("%f",n);}else printf("%f",-n);C.if(n>0){ n=n+m;printf("%f",n);};else printf("%f",-n);D.if(n>0){ n=n+m;printf("%f",n) };else printf("%f",-n);28.以下程序运行的结果是()#include<stdio.h>int main(){int x1=3,x2=0,x3=0;if(x1=x2+x3)printf("****");else printf("####");}A.输出:****B.输出:####C.存在语法错误D.无输出结果29.语句while(!y)中的表达式 !y 等价于()A.y==0B.y!=1C.y!=0D.y==130.若有定义语句:int x=10;,则表达式 x-=x+x 的值为()。
A.-20B.-10C.0D.1031.以下程序段中,与语句:k=a>b?(b>c ? 1 : 0) : 0;功能相同的是()。
A.if((a>b) && (b>c)) k=l;else k=0;B.if((a>b)||(b>c))k=l;else k=0;C.if(a<=b)k=0;else if(b<=c)k=1;D.if(a>b) k=l;else if(b>c)k=1;else k=0;32.已知某程序如下:float p=1.5;#define p 2.5main(){printf("%f",p);}则main函数中标识符p代表的操作数是()。
A.float型变量B.double型变量C.float型常量D.double型常量33.逻辑"异或"运算可描述为"a xor b",其中a和b为参加运算的两个操作数,运算结果为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。