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语言标识符的是(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-1】C语言源程序最多可能由________________部分组成?A) 预处理部分B)变量说明部分C) 函数原型声明部分D)函数定义部分【习题1-2】一个完整的C语言源程序最少必须有_______。
A)若干个主函数B)若干个函数C)且只能有一个主函数D)一个函数【习题1-3】C语言以函数为源程序的基本单位最主要有利于_______。
A)程序设计结构化B)程序设计模块化C)程序设计简单化D提高程序设计有效性【习题1-4】要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过_______________________________________。
A)编辑和链接B)编译和链接C)修改和运行D运行并输入数据【习题1-5】选择一个C语言集成开发环境并启动它,然后分别输入【例1-1】、【例1-2】、【例1-3】的源程序,依次编译、链接、运行,看看能否达到预想的结果?从中了解程序的开发过程。
习题二一、单项选择题【习题2-1】已知’A’的ASCII代码是65,以下程序的输出结果是( )#include "stdio.h"main( ){ int c1=65,c2=66;printf("%c, %c",c1,c2);}A. 因输出格式不合法,输出错误信息B. 65,66C. A,BD. 65,66【习题2-2】若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )A. a=a+b,b=a-b,a=a-b;B. t=a,a=b,b=t;C. a=t,t=b,b=a;D. t=b;b=a;a=t;【习题2-3】若k是整型变量,则以下程序段的输出是( )k=-8567;printf (“|%d|\n”,k);A. 输出格式不正确B. 输出为|008567|C. 输出为|8567|D. 输出为|-8567|【习题2-4】下列可作变量的标识符是( )A. 3rtB. je_cC.$89D. a+6【习题2-5】C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )A.必须为字母或下划线B.必须为下划线C.必须为字母D.可以是字母、数字和下划线中的任一种字符【习题2-6】C语言并不是非常严谨的算法语言,在以下关于C语言的不严谨的叙述中,错误的说法是( )A. 大写字母和小写字符的意义相同B. 有些不同类型的变量可以在一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义二、简答题【习题2-7】C语言数据类型有哪几类?基本数据类型包括哪几类?【习题2-8】C语言中十进制、八进制和十六进制整常量是如何表示的?【习题2-9】C语言为什么规定对所用到的变量“先定义,后使用”,这样做有什么好处?【习题2-10】C语言中的语句有几类?控制语句有哪些?【习题2-11】怎样区分表达式和表达式语句?为什么有人称C为表达式语言?【习题2-12】字符常量与字符串常量有什么区别?【习题2-13】下面各数用八进制和十六进制数表示:(1)10 (2)32 (3)75 (4)-617(5)-111 (6)2483 (7)-28654 (8)21003三、阅读程序写结果或填空【习题2-14】写出以下程序的运行结果:#include<stdio.h>main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c\n",c4,c5);}【习题2-15】写出以下程序的运行结果:#include<stdio.h>main(){int n=177;printf("%o\n",n);}【习题2-16】写出以下程序的运行结果:#include<stdio.h>main(){int a,n=0;n+=(a=10);printf("%d\n",a);}【习题2-17】写出以下程序的运行结果:#include <stdio.h>main(){int a=5,b=7;float x=67.8564,y=-789.124;char c='A';long n=1234567;unsigned u=65535;printf("%d%d\n",a,b);printf("%3d%3d\n",a,b);printf("%f,%f\n",x,y);printf("%-10f,%-10f\n",x,y);printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%10.2e\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%x\n",n,n,n);printf("%u,%o,%x,%d\n",u,u,u,u);printf("%s,%5.3s\n","COMPUTER","COMPUTER"); }【习题2-18】写出以下程序的运行结果:#include<stdio.h>main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}【习题2-19】下面运算表达式的值是:x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7【习题2-20】下面运算表达式的值是:(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5【习题2-21】写出下面赋值表达式运算后a的值,设原来a=12;(1)a+=a (2) a-=2(3)a*=2+3 (4) a/=a+a(5)a%=(n%=2),n 的值等于5 (6)a+=a-=a*=a【习题2-22】数学表达式:-5<x<5用C语句如何表达?x>5或x<-5又是如何表达?请写出相应的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语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。
2. 声明一个浮点型常量,其值为3.14。
3. 将字符型变量 'A' 赋值给另一个字符型变量。
1.2 数据类型1. 将一个整型变量转换为浮点型变量。
2. 将一个长整型变量赋值给一个短整型变量。
3. 编写一个程序,输出不同数据类型所占的字节数。
1.3 运算符1. 计算5加3乘2的结果。
2. 判断两个整型变量是否相等。
3. 使用自增运算符使变量i的值增加1。
二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。
2. 输出用户输入的两个整数中的较大值。
3. 计算并输出圆的面积(给定半径)。
2.2 选择结构1. 判断一个整数是正数、负数还是零。
2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。
3. 编写一个程序,实现石头剪刀布的游戏。
2.3 循环结构1. 计算1到100所有整数的和。
2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。
3. 使用循环结构输出九九乘法表。
三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。
2. 定义一个函数,实现字符串的复制。
3. 创建一个函数,判断一个数是否为素数。
3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。
2. 编写一个递归函数,实现字符串的逆序输出。
3. 利用递归函数求解汉诺塔问题。
四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。
2. 计算一维数组中所有元素的和。
3. 找出一维数组中的最大值和最小值。
4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。
2. 计算二维数组对角线元素的和。
3. 实现矩阵的转置。
五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。
2. 使用指针实现两个整数的交换。
3. 编写一个函数,通过指针参数修改传入的字符串。
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.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语言习题册及答案

第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)。
C语言习题第二章1.结构化程序由3功种基本结构组成,3种基本结构组成的算法( ) A可以完成任何复杂的任务B只能完成部分复杂的任务C只能完成符合结构化的任务D只能完成一些简单的任务2. 结构化程序由( )、()、()三种基本结构组成3. C语言中结构化程序设计的3种基本结构是( )A)顺序、选择、循环结构B) if,switch,breakC)for,while, do while D)if,for,continue第三章1.以下选项可作为C语言合法常量的是( )A) -80B) -080 C) –8e1.0 D) –80.0e2. 以下4组常量中,均为合法常量的一组是( )A –1; 12.; 011777; 0xffffffB 986,012; -16 0 8; 0; 0.0C E3; .E5; -5e3.5; 0.35 ×102D 01x; 0778; 0xgf; oXabc3.以下选项中可作为C语言合法整数的是( )A) 10110B B)0386 C) 0xffa D) x2a24. 以下选项中不合法的int型常量是( )A) 32768 B) –56 C) 03 D) 0xAF5. 以下合法的长整型常量是( )A) 2L B) 49627 C) 34556666 D) 213&6. 以下合法的十六进制数是( )A) 0x B) 0x4de C) 0x1h D) ox777. 以下非法的数字常量是( )A) 019B) 0L C) 0xff D) 1e18. 以下选项中不能作为C语言的类型、对变量进行定义的是( )A) signed short int B) signed long intC) signed int D) long short1.以下符合C语言语法的实型常量是( )A) 1.2E0.5 B) 3.14159E C) .5E-3D)E152. 以下选项不能作为合法常量的是( )A) 1.234e04 B) 1.234e0.4C) 1.234e+4 D) 1.234e03. 在TUBRO C中double型变量所占字节数是( )A) 2 B) 4 C) 6 D) 81.以下选项中不是字符常量的是( )A) …A‟ B) “H”C) …\t‟ D) …、‟2. 有以下程序#include <stdio.h>void main(){ char a,b,c,d;a='\\';b='\xbc';c='\0xab';d="\0127";printf("%c%c%c%c\n",a,b,c,d);}编译时出现错误,以下叙述中正确的是( )A) 程序中只有a=…\‟;语句不正确B) b=…\xbc‟;语句不正确C) d=“\0127”;语句不正确D) a=…\‟;和c=“\0127”; 语句不正确3.若有以下程序:#include <stdio.h>void main(){ char a;a='H'-'A'+'0';printf("%c\n",a);}执行后输出结果是( …7‟)4. 已定义ch为字符型变量,以下赋值语句中错误的是( )A) ch=…\‟; B) ch=62+3; C) ch=NULL; D) ch=…\xaa‟;5.已定义c为字符型变量,则下列语句中正确的是( )A) c=‟97‟B) c=“97” C) c=97 D) c=“a”6.以下程序运行后的输出结果是( …b‟)main(){ char m;m=…B‟+32;printf(“%c\n”,m);}7.C语言中,字符型数据在微机内存中的存储形式是( )A) 反码B) 补码C) EBCDIC码D) ASCII码8. 设有定义语句char a=…\72‟; 则变量a( )A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法9. C语言中不合法的字符串常量是( )A) “\121” B) …y=…C) “\n\n” D) “ABCD\x6d”10. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码值是97,则用八进制表示的字符常量…\101‟是( )A) 字符A B) 字符a C)字符e D) 非法的常量11.C语言中,字符在内存中占( )个字节1.设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式(½)* (a+b)h计算结果不相符有是( )A) (a+b)*h/2 B) (1/2)*(a+b)*hC) (a+b)*h*1/2 D) h/2*(a+b)2.已有定义语句:int a=1,b=2,c=3;float d=4;以下能正确表示数学式的C语言表达式的是( )A) a/(b+c)*d B) a/(b+c)*1/dC) a/(c+b)/d D) a/d/(b+c)3. 以下变量x,y,z均为double型且已赋值,不能正确表示数学式子x÷y÷z的C语言表达式是( )A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z4.表达式3.5+1/2的计算结果是( )例题:表达式(double)(10%3)的值是( )A) 1 B) 3 C) 10 D) 1.0设a和b均为double型变量,且a=5.5,b=2.5,则表达式:(int)a+b/b的值是( )A) 6.500000 B) 6 C) 5.500000 D) 6.000000注意:原来变量的类型并未变化1.下列关于单目运算符++的叙述中正确的是( )A它们的运算对象可以是任何变量和常量B它们的运算对象可以是char型变量和int型变量,但不能是float型变量C它们的运算对象可以是int型变量,但不能是double型变量和float型变量D它们的运算对象可以是char型变量、int型变量,和float型变量2.设有以下定义int a=0; double b=1.25; char c=…A‟;#define d 1则下面语句错误的是( )A) a++; B) b++; C) c++; D) d++;3. 以下程序的输出结果是( )main(){ c har a=…a‟,b;printf(“%c,”,++a);printf(“%c\n”,b=a++);} A) b,b B) b,c C) a,b D)a,c4. 数字字符0的ASCII值为48,运行以下程序的输出结果是( )main(){ char a=…1‟,b=…2‟;printf(“%c,”,b++);printf(“%d\n”,b-a);} A) 3,2 B) 50,2 C) 2,2 D) 2,505. 以下程序的输出结果是( )main(){ int m=12,n=34;printf(“%d%d”,m++,++n);printf(“%d%d\n”,n++,++m);} A)12353514 B)12353513 C) 2343514 D)123435136. 已知int t=6,s;则执行语句s=(++t)+(t++);后,s的值是A) 12 B) 13 C) 14 D) 157.设x,y均为整型变量,且x=10,y=3,则以下语句的输出结果是( )printf(“%d,%d\n”,x--,--y);A) 10,3 B) 9,3 C) 9,2 D) 10,2a=b=c=5整个表达式的值为?a,b,c的值为?a=5+(c=6)整个表达式的值为?a ,c的值分别为?x=(y=4)+(z=3)整个表达式的值为?x,y,z的值分别为?x=(y=4)/(z=3)整个表达式的值为整数?Y,z的值分别为?1.设k和x均为整型变量,且k=7,x=12,则能使值为3的表达式是( )A) x%=(k%=5) B) x%=(k-k%5)C) x%=k-k%5 D) (x%=k)-(k%=5)2.以下选项中,与k=n++完全等价的表达式是( )A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+13. 以下选项中非法的表达式是( )A)0<=x<100 B) i=j==0 C) (char)(65+3) D)x+1=x+14.有以下定义语句double a,b;int w;long c;若各变量已正确赋值,则下列选择中正确的表达式是( )A) a=a+b=b++ B) w%((int)a+b)C) (c+w)%(int)a D) w=a==b1.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )A) x=x*100+0.5/100.0; B) x=(x*100+0.5)/100.0;C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.02.已有定义:double x; int i; ,能正确给x赋值70000.0的表达式是( )A) x=7000*10 B) x=70000C) x=35000+35000 D) i=700,x=i*1003. 已有定义:int x=3; 则表达式:x=x+1.78的值是( )1.设有如下程序段int x=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是( )A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C) 输出值得为2002D) 输出值为20032.若t已定义为double 型,表达式t=1,t++,t+5的值是( )A) 1 B) 7.0 C) 2.0 D) 1.03. 已知int i,a;执行语句i=(a=3,a++,--a, a+4,a+5,++a);后,变量i的值为( )A 2 B) 3 C) 4 D) 54. 设以下变量均为int型,表达式的值不为7的是( )A) (x=y=6,x+y,x+1)B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y)D) (y=6,y+1,x=y,x+1)5. 若x,i,j和k都是整型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为( )A) 4 B) 16 C) 32 D) 526. 已知int a=1,b=-1;则语句printf(“%d\n”,(a--,++b));的输出结果是( )A) –1 B) 0 C) 1 D) 语句错误P43-44 例3.2, 3.3P48-51 例3.5,3.6,3.7P57 例3.8编程验证P58-59printf(“%d,%d\n”,i,i++);及(i++)+(i++)+(i++)p65(a=3*5,a*4),a+5验证:作业P66 3.6, 3.7, 3.9 , 3.10,3.12(3)1.若以下选项中的变量已正确定义,则正确的赋值语句是( )A) x1=26.8%3; B)1+2=x2;C) x3=0x12; D) x4=1+2=32. 以下非法的赋值语句是( )A)n=(i=2,++i); B)j++;C)++(i+1); D)x=j>0;3.以下合法的C语言赋值语句是( )A) a=b=58 B) k=int(a+b);C) a=58,b=58 D) --i;4.若a,b,c,d都是int类型变量且初值为0,以下选项中不正确的赋值语句是( )A) a=b=c=100; B) d++;C) c+b D) d=(c=22)-(b++);5.下列语句中,符合语法的赋值语句是( )A)a=7+b+c=a=7; B)a=7+b++=a+7;C)a=7+b,b++,a+7 D)a=7+b,c+a+7;6.以下4个选项中不能看作一条语句的是( )A){;} B) a=0,b=0,c=0;C) if(a>0); D) if(b==0)m=1;m=2;7.以下选项中不是C语句的是( )A){int i; i++;printf(“%d\n”,i);} B) ;C) a=5,c=10 D) {;}8. C语句的最后用( )结束9. 复合语句在语法上被认为是( )。