01C++语言程序设计习题集(顺序结构和简单分支结构)-ok
- 格式:doc
- 大小:32.50 KB
- 文档页数:2
2001~2002学年“C语言程序设计基础”试卷试题一、单项选择题(每小题 2 分,共20 分)1.C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A、循环B、递归C、转移D、嵌套2.若x是单精度实型变量,表达式(x = 10/4) 的值是_____ 。
A、2.5B、2.0C、3D、 23. 表达式!x 等价于_____。
A、x==0B、x==1C、x != 0D、x != 14.若变量已正确定义且k 的值是4,计算表达式( j = k--) 后,_____。
A、j=3, k=3B、j=3, k=4C、j=4, k=4D、j=4, k=35. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。
A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算6.C语言中,形参的缺省的存储类说明是______。
A、autoB、staticC、registerD、extern7.下列语句定义pf为指向float类型变量f的指针,_____是正确的。
A、float f, *pf = f;B、float f, *pf = &f;C、float *pf = &f, f;D、float f, pf = f;8.表达式sizeof(“key”) 的值是______。
A、1B、2C、3D、49.将程序prog.c编译后运行:prog –nla hello world 则*(*(argv+2)) 是______。
A、’p’B、‘-‘C、‘h’D、‘w’10.若a是整型变量,表达式~(a ^ ~a ) 等价于______。
A、~aB、1C、0D、2试题二、填空题(每小题 3 分,共24 分)1.写出语句printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果。
第一章答案选择题1~5 C B A C D 6~10 C C A C B11~14 A A C B填空题1.主函数main函数2.函数的说明部分函数体3.最外层的一对大括弧内的部分4.变量定义部分执行部分5.输入和输出函数6.函数7.小写8.省略第二章答案一、选择题1~5 D D D A C 6~10 A A D D D11~15 D A A D D 16~20 A C B B A21~25 A A C A C 26~30 B C B B A31~35 D D A B B 36~40 C C A B A41~45 B A C C B 46~50 D A B A C51~55 A A A B D 56~60 A B B B C61~65 A D B A C 66~68 B D C二、填空题1.基本类型构造类型指针类型空类型2.数组类型结构体类型共用体类型3.整型字符型实型枚举类型4.常量5.整型常量实型常量字符常量字符串常量6.用一个标识符代表一个常量7.数值型常量8.大写小写C 语言程序设计习题集1399.其值可以改变的量10.整型变量实型变量字符型变量11.数据类型数据类型12.标识符13.字母数字下划线字母下划线14.使用15.十进制十六进制八进制16.基本型短整型长整型无符号int short long unsigned17.字母l或L18.十进制数形式指数形式19.单精度双精度20.单引号21.逗号22.变量初始化23.fgab c dehj k注:第一行空白处分别为一个、三个空格第二行空白处分别为六个、三个空格24.-32768~+3276725.字符形式整数形式26.A B27.3228.双引号29.‟\0‟30.75.531.double32.-1038~103833.双目34.左结合35.x=3.600000,i=336.-3,437.赋值表达式算术表达式关系表达式逻辑表达式条件表达式逗号表达式38.表达式239.赋值逗号18 18 18 340.9,11,9,1041.逗号42.强制类型转换C 语言程序设计习题集140第三章答案选择题1~5 A B D B A 6~10 A B B A D11~15 D A A C D 16~20 C C C B A21~23 A A D填空题1.控制语句空语句复合语句函数调用语句表达式语句2.函数调用3.向终端输出一个字符4.在终端设备上(或系统隐含的输出设备上)按照指定的格式进行输出5.格式说明普通字符6.d,c,s7.小于,左,右8.连续两个%9.从终端输入一个字符10.地址a在内存中的地址11.变量地址变量名12.一个分号13.花括弧14.10<CR>40<CR>4<CR>4<CR>(<CR>表示回车换行符)15.double a,b;a+b a-b a*b a/b16.65 A17.10<CR>40<CR>2,0<CR>3,0(<CR>表示回车换行符)18.32<CR>16,15<CR>40<CR>13,13(<CR>表示回车换行符)19.3.140000,3.14120.a<cr>编程题1.#include <stdio.h>main( ){char c1,c2;c1=getchar( );printf(“%c,%d\n”,c1,c1);c2=c1+‟A‟-…a‟;printf(“%c,%d\n”,c2,c2);C 语言程序设计习题集141}2.#include <stdio.h>#include <math.h>main( ){float a,b,c,disc,x1,x2,realpart,imagpart;scanf(“%f%f%f”,&a,&b,&c);printf(“the equation”);if(fabs(a)<=1e-6)printf(“is not quadratic”);else disc=b*b-4*a*c;if(fabs(disc) <=1e-6)printf(“has two equal roots:%8.4f\n”,-b/(2*a));else if (disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf(“has distincr real roots: %8.4f\n”,x1,x2);}else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(“has complex roots:\n”);printf(“%8.4f+%8.4fi\n”,realpart,imagpart);printf(“%8.4f-%8.4fi\n”,realpart,imagpart);}}3.mian( ){printf(“I am a student.\n”);printf(“I love China.\n”);}第四章答案选择题1~5 B A D B B 6~10 A C D B D11~15 A D A B A 16~20 C D C D C21~25 B C A D A 26~30 A C C B BC 语言程序设计习题集14231~35 D B C B A 36~40 D A D A A41~43 C C D二、填空题1.else与它前面最近的一个if配对2.由键盘输入一个数,打印出它的类型标识符3.if(a<=b) {x=1; printf(“ * * * * y=%d\n”,y); }else { y=2; printf(“ # # # # x=%d\n”,x); }4.(1) a= =0(2)b= =0(3 ) _derta<05.OK!NO!ERROR!6.x=1 y=0x=27.(1)x/10(2)case 0: case 1: case 2: case 3: case 4: case 5:(3)case 9:8.a=b a<c t=b9.ch>=‟A‟&& c<=‟Z‟ ch=ch-3210.-111.x=612..根据条件判定值,从两种选择对象中,选取一个作为整个运算的结果13..整个条件表达式的结果就取自运算分量b的结果,整个条件表达式的结果就取自运算分量c的结果14..!,&&,||15. (1)2(2)3CCa=2,b=2,c=416.(1)a<b||a<c(2)a>c&&b>c(3)fmod(a,2)= =117.3,2,3,318.0 119.(1)3(2)2(3)3 C 语言程序设计习题集14320.x>10&&x<100||x<021.10110三、编程题1.#include <math.h>#include <stido.h>main( ){float a,b,c,s,s1;printf(“Please enter 3 reals:\n”);scanf(“%f%f%f”,&a,&b,&c);if((a+b)>c&&(a+c)>b&&(b+c)>a){s=(a+b+c)*0.5;s1=s*(s-a)*(s-b)*(s-c);s=sqrt(s1);printf(“\nArea of the triangle is %f\n”,s);}elseprintf(“It is not triangle!\n”);}2.#include <stdio.h>#define pi 3.14159main( ){int k;float r,c,a;printf(“input r,k\n”);scanf(“%f%d”,&r,&k);switch(k){case 1: a=pi*r*r; printf(“area=%f\n”,a);br eak;case 2: c=2*pi*r;printf(“circle=%f\n”,c);break;cese 3: a=pi*r*r;c=2*pi*r;printf(“area=%f circle=%f\n”,a,c);break;}}3. main( ){int year,leap;scanf(“%d”,&year);if(year%4= =0){if(year%100= =0){if(year%400= =0)leap=1; C 语言程序设计习题集144else leap=0;}else leap=1;}else leap=0;if(leap)printf(“%d is ”,year);else printf(“%d is not ”,year);printf(“ a leap year\n”);}4.#include <math.h>main(){float x,y;scanf(“%f”,&x);if(x<0) y=x*x;else if(x>=0&&x<10) y=-0.5*x+10;else y=x-sqrt(x);printf(“y=%f”,y);}5.main(){float score;scanf(“%f”,&score);if(score>=90) printf(“A”);else if(score>=80) printf(“B”);else if(score>=70) printf(“C”);else if(score>=60) printf(“D”);else printf(“E”);}6.main( ){int num,a,b,c,d,p;scanf(“%d”,&num);if(num<=9999&&num>999) p=4;else if(num>99) p=3;else if(num>9) p=2;else if(num>0) p=1;printf(“位数是:%d\n”,p);a=num/1000;b=num/100%10; C 语言程序设计习题集145c=num/10%10;d=num%10;switch(p){case 4:printf(“%d%d%d%d\n”,d,c,b,a);case 3:printf(“%d%d%d \n”,d,c,b);case 2:printf(“%d%d\n”,d,c);case 1:printf(“%d \n”,d);}}第五章答案选择题1~5 A C C C B 6~10 D D A C B11~15 A B A B A 16~20 B B C A C21~25 A A A B B 26~30 D B D D C31~35 C D C A B 36 D二、填空题1.(1)先判断条件是否成立(为真),若成立(为真)再执行循环语句(2)先执行循环语句,再判断条件是否成立(为真),若成立则继续执行循环,若不成立,则结束循环。
(完整版)C语言程序设计_习题大全(含答案)_C语言-1编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)C语言程序设计_习题大全(含答案)_C语言-1)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)C语言程序设计_习题大全(含答案)_C语言-1的全部内容。
C语言基础一: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,012 2e5011 0xe 0668 0x<<02〉〉B>〉23.下面四个选项中,均是不合法的转义符的选项是( 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)Main D)PRINT6.C语言提供的合法关键字是( D ).A) swithB) cherC) Case). Default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8。
C语言程序设计教程第一章习题答案1、算法描述主要是用两种基本方法:第一是自然语言描述,第二是使用专用工具进行算法描述2、c语言程序的结构如下:1、c语言程序由函数组成,每个程序必须具有一个main函数作为程序的主控函数。
2、"/*"与"*/"之间的内容构成c语言程序的注释部分。
3、用预处理命令#include可以包含有关文件的信息。
4、大小写字母在c语言中是有区别的。
5、除main函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。
例如:void main(){int a,b,c,s;a=8;b=12;c=6;s=a+b*c;printf("s=%d\n",s);}3、c语言的特点:1、c语言具有结构语言的特点,程序之间很容易实现段的共享;2、c语言的主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译成代码,以实现程序的模块化。
3、c语言运算符丰富,运算包含的范围很广;4、c语言数据类型丰富。
5、c语言允许直接访问物理地址,即可直接对硬件进行操作,实现汇编语言的大部分功能;6、c语言语法限制不太严格,程序设计自由度大,这样是c语言能够减少对程序员的束缚;7、用c语言编程,生成的目标代码质量高,程序执行效率高,可移植性好;4、合法标识符:AB12、leed_3、EF3_3、_762、PAS、XYZ43K2不合法标识符:a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D5、F2:将当前编辑器中文件存盘F10:调用主菜单F4:程序运行到光标所在行Ctrl+F9:当前编辑环境下,进行编译、连接且运行程序;Alt+F5:将窗口切换到DOS下,查看程序运行结果6、(1):********************welcome youvery good********************(2):please input three number;5,7,8max number is:87、main8、User screen、Alt+F59、标识符必须是字母或下划线开头,大小写字母含义不同。
顺序结构程序设计习题1、【变量自增运算问题】题目描述:键盘输入整型变量A的值,输出A增加10、再减少30、扩大20倍、缩小5倍后的值。
(要求采用算术复合赋值运算)输入格式:5 输出格式:-602、【交换变量问题】题目描述:键盘输入两个整型变量A、B的值,利用中间变量C交换A、B的值并输出。
输入格式:1 2 输出格式:2 1思考:交换其它数据类型变量的值问题。
3、【三位数数位和问题】题目描述:从键盘输入一个三位的自然数M,分离出它的百位、十位与个位上的数字并求和输出。
输入格式:523 输出格式:104、【大写转小写问题】题目描述:键盘输入一个大写字母,要求改用小写字母输出。
输入格式:A 输出格式:a思考:小写转大写问题。
5、【温度计数转换问题】题目描述:输入一摄氏温度,编程输出华氏温度。
已知:华氏温度转换为摄氏温度的计算公式如下:C=(F-32)5/9;其中,F表示华氏温度,C表示摄氏温度。
输入格式:0 输出格式:326、【长度计数转换问题】题目描述:编程实现输入千米数,输出显示其英里数。
已知:1英里=1.60934千米(用符号常量)。
输入格式:1 输出格式:0.6213简单的分支结构程序设计1、【数字比较问题】题目描述:从键盘上输入两个整型数,比较其大小,并输出显示其中较小的数。
输入格式:20 -30 输出格式:-30思考:输出其中较大的数。
2、【绝对值问题】题目描述:从键盘输入一个浮点型数x,要求不使用系统函数,输出其绝对值。
输入格式:-10.1 输出格式:10.115 153、 【打折问题】题目描述:国庆期间,某超市购物优惠规定:所购物品不超过100元时,按九折付款,如超过100元,超过部分按8折收费,请编一程序完成超市自动计费的工作。
输入格式:90 输出格式:81110 984、 【分段函数问题】题目描述:有一函数如下所示,要求已知x 值时,输出y 值。
输入格式:0.1 输出格式:0.18 1315 105、 【勾股定理】题目描述:输入三角形的三边(整型数据,且数据由小到大排列),利用勾股定理 (商高定理、韦达定理)判断它是否是直角三角形。
程序设计语言C_习题集(含答案)《程序设计语言C》课程习题集西南科技大学成人、网络教育学院版权所有习题【说明】:本课程《程序设计语言C》(编号为03004)共有单选题,编程题, 填空题等多种试题类型,其中,本习题集中有[ 填空题]等试题类型未进入。
一、单选题1.在C语言中,合法的长整型常数是AA) OL B) 4962710 C) 324562& D) 216D2.以下有4组用户标识符,其中合法的一组是CA) For B) 4d C) f2_G3 D) WORD3.以下选项中合法的字符常量是BA)"B" B) '\010' C) 68 D) D4.以下程序的输出结果是Dmain(){ int a=3;printf("%d\n",a+(a-=a*a) );}A) -6 B)12 C) 0 D) -125.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的值位为CA) 0 B) 1 C)2 D) 36.t为int类型,进人下面的循环之前,t的值为0while( t=l ) B{ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对7.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是BA) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定8.以下程序的输出结果是Cmain(){ int i, a[10];for(i=9;i>=0;i- -) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 3699.以下选项中,不能正确赋值的是AA) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest"; D) char *s4="Ctest\n";10.以下程序的输出结果是Dunion myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A)4 B) 5 C) 6 D) 011.以下叙述正确的是CA) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点12. C语言中用于结构化程序设计的三种基本结构是AA) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-while D) if、for、continue13.下列关于C语言用户标识符的叙述中正确的是BA) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头14.有以下程序段in t m=0,n=0; char c=’a’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:AA) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,015.有以下程序main()A{ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是A) 011122 B) 012 C) 012020 D) 12016.有以下程序Bmain(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,117.有以下程序Dvoid f(int x,int y){ int t;if(x<="">}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,518.有以下程序Cmain(){ char *s[]={"one","two","three"},*p; p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two19.有以下程序Cmain(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 920.设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是AA) STD tt[2]={{1,’A’,62},{2,’B’,75}};B) STD tt[2]={1,"A",62,2,"",75};C) struct tt[2]={{1,’A’},{2,’B’}};D) struct tt[2]={{1,"A",62.5},{2,"B",75.0}};21.以下选项中属于C语言的数据类型是DA)复数型B)布尔型C)集合型D)整型22.一个C程序的执行是从AA)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束23.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是CA)3 B)0C)-12 D)924.若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是C A)cd\0e B)'c''d' C)cd D)cd e25.已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;下列表达式不是4的是BA)*(*p+3) B)*p+3 C)*(*(p+0)+3) D)a[0][3]26.以下有宏替换不正确的叙述DA)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符串替换D)宏名必须用大写字母表示27.执行char str[10]=”Ch\nina”; strlen(str)的值是BA)5 B)6 C)7 D)928.下面程序的输出结果是D#define POWER(x) (x*x)main(){int i=4; printf("%d",POWER(i-2)); }A)-9 B)-7 C)5 D)-629.在定义int a[3][4];后,第10个元素是DA)a[2][4] B)a[3][2] C)a[3][3] D)a[3][1]30.下面程序的输出结果是Dtypedef struct{long x[2];short y[4];char z[8];}MYTYPE;MYTYPE a;main(){ printf("%d\n",sizeof(a));}A)2 B)8 C)14 D)2431.以下能正确进行字符串赋值的是CA)char s[5]={‘a’,’e’,’I’,’o’,’u’} B)char s[5];s=”good”C)char s[5]=”abcd” D)char s[5];s[]=”good”32.若有float x;则sizeof(x)和sizeof(float)两种描述AA)都正确B)都不正确C)前者正确,后者不正确D)后者正确,前者不正确33.若有代数式3ae/(bc),则不正确的C语言表达式是AA)3*a*e/b*c B)3*a*e/b/c C)a/b/c*e*3 D)a*e/c/b*334.下面程序的运行结果是DMain( ){struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);}A)0 B)1 C)3 D)635.若有以下说明和语句,且0<=i<10,则()是对数组元素的错误引用Cint a[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;A)*(a+i) B)a[p-a] C)p+i D)*(&a[i])36.设有以下宏定义:C#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2));后,z的值为A)44 B)45 C)32 D)3337.在如下程序段中的while循环Bint k=0;While(k=1) k++;A)有语法错,不能执行B)无限循环C)一次都不执行D)执行一次38.下列程序运行的结果为D#includeMain(){ int k=0;Char c=’A’;Do{switch(c++){ case ‘A’:k++;break;Case ‘B’:k- -;break;Case ‘C’:k+=2;bre ak;Case ‘D’:k=k%2;break;Case ‘E’:k=k*10;break; Default:k=k/3;}K++;}while(c<’G’);Printf(“k=%d”,k);}A)k=4 B)k=6 C)k=7 D)k=839.下列程序运行的结果为C#includefun(int x,int y,int *cp,int *dp) {*cp=x+y;*dp=x-y;}main(){ int a,b,c,d ;a=30 ;b=50;fun(a,b,&c,&d);printf(“%d,%d\n”,c,d);}A)50,30 B)30,50 C)80,-20 D)80,2040.阅读程序回答问题:main( ){ int i,j,k,m=0;for(i=1;i<4;i++)for(j=1;j<4;j++)for(k=1;k<4;k++)m++;printf(“M=%d”,m);}以上程序输出M=( ). DA)3 B)6 C)9 D)2741.能将高级语言编写的源程序转换为目标程序的是CA)链接程序B)解释程序C)编译程序D)编辑程序42.以下4组用户定义标识符中,全部合法的一组是AA)main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _00143.设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是()DA)a++ B)b++ C)c++ D)d++;44.以下4个选项中,不能看作一条语句的是DA){;} B)a=0,b=0,c=0 C)if(a>0) D)if(b==0) m=1;n=2;45.有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf("%c",&k);switch(k){ case '0': printf("another\n");case '1': printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是CA)another B)another C)another D)numbernumber number number numberanother number46.有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是CA)1,2,3 B)3,1,2 C)1,3,2 D)2,3,147.有以下程序段Dint a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A)5 B)6 C)8 D)948.有以下程序A#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后输出结果是A)28 B)22 C)16 D)449.设有以下语句typedef struct S{ int g; char h;}T;则下面叙述中正确的是BA)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量50.有以下程序Cint a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是A)10 B)9 C)7 D)851.组成C程序的基本单位是AA)函数B)标识符C)表达式D)语句52.设int类型的数据长度为2字节,则该类型数据的取值范围DA)0至65536 B)0至65535 C)-32767至32768 D)-32768至3276753.在C语言中,逻辑值“真”是用( )表示的。
第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
目录重要次重要重复或欲删除基础第一章 C语言概述1.1 选择题1.2 填空题第二章数据类型、运算符与表达式2.1 选择题2.2 填空题第三章最简单的C程序设计3.1 选择题3.2 填空题第四章逻辑运算和判断选取控制4.1 选择题4.2 填空题4.3 编程题第五章循环控制5.1 选择题5.2 填空题5.3 编程题第六章数组6.1 选择题6.2 填空题6.3 编程题第七章函数7.1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8.3 编程题第九章指针9.1 选择题9.2 填空题9.3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11.2 填空题11.3 编程题第十二章文件12.1 选择题12.2 填空题12.3 编程题第一章 C语言概述1.1 选择题*1.1一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
顺序结构程序设计习题
1、【变量自增运算问题】
题目描述:键盘输入整型变量A的值,输出A增加10、再减少30、扩大20倍、缩小5倍后的值。
(要求采用算术复合赋值运算)
输入格式:5 输出格式:-60
2、【交换变量问题】
题目描述:键盘输入两个整型变量A、B的值,利用中间变量C交换A、B的值并输出。
输入格式:1 2 输出格式:2 1
思考:交换其它数据类型变量的值问题。
3、【三位数数位和问题】
题目描述:从键盘输入一个三位的自然数M,分离出它的百位、十位与个位上的数字并求和输出。
输入格式:523 输出格式:10
4、【大写转小写问题】
题目描述:键盘输入一个大写字母,要求改用小写字母输出。
输入格式:A 输出格式:a
思考:小写转大写问题。
5、【温度计数转换问题】
题目描述:输入一摄氏温度,编程输出华氏温度。
已知:华氏温度转换为摄氏温度的计算公式如下:C=(F-32)5/9;其中,F表示华氏温度,C表示摄氏温度。
输入格式:0 输出格式:32
6、【长度计数转换问题】
题目描述:编程实现输入千米数,输出显示其英里数。
已知:1英里=1.60934千米(用符号常量)。
输入格式:1 输出格式:0.6213
简单的分支结构程序设计
1、【数字比较问题】
题目描述:从键盘上输入两个整型数,比较其大小,并输出显示其中较小的数。
输入格式:20 -30 输出格式:-30
思考:输出其中较大的数。
2、【绝对值问题】
题目描述:从键盘输入一个浮点型数x,要求不使用系统函数,输出其绝对值。
输入格式:-10.1 输出格式:10.1
15 15
3、 【打折问题】
题目描述:国庆期间,某超市购物优惠规定:所购物品不超过100元时,按九折付款,如超过100元,超过部分按8折收费,请编一程序完成超市自动计费的工作。
输入格式:90 输出格式:81
110 98
4、 【分段函数问题】
题目描述:有一函数如下所示,要求已知x 值时,输出y 值。
输入格式:0.1 输出格式:0.1
8 13
15 10
5、 【勾股定理】
题目描述:输入三角形的三边(整型数据,且数据由小到大排列),利用勾股定理 (商高定理、韦达定理)判断它是否是直角三角形。
若数据无法构成三角形输出Error ;构成直角三角形输出Yes ;否则输出No 。
输入格式:3 4 5 输出格式:Yes
3 4 4 No
1 1 3 Error
思考:输入数据不一定有序的情况。
6、 【求解一元二次方程】
题目描述:求一元二次方程ax 2+bx+c=0 (输入数据保证a 不为0) ,试讨论下述情况:⑴ b 2-4ac=0,有两个相等实根;⑵ b 2-4ac>0,有两个不等实根;⑶ b 2-4ac<0,无实根。
要求:⑴⑵输出根的情况,⑶输出“No real root ”字符串。
输入与输出数据自定。
7、 【排序问题】
题目描述:键盘任意输入三个整数,请按由大到小的顺序输出。
输入格式:3 4 5 输出格式:5 4 3
8、 【大小写转换问题】
题目描述:键盘输入一个字符,判别它是否是英文字母,如果是,将它轮换成其大(小)写对应字母;如果不是,不转换。
然后输出最后得到的字符。
输入格式:a 输出格式:A
A a
1 1
9、 【闰年问题】
题目描述:编程判断输入年份是否为闰年。
若是输出“Yes ”,若不是输出“No ”。
输入格式:2004 输出格式:Yes
1900
No
x, x<1 x+5, 1≤x<10 x-5, x ≥10
Y=。