[VIP专享]C语言程序设计练习题12第一部分答案
- 格式:pdf
- 大小:89.36 KB
- 文档页数:6
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
第一部分C语言基础一、选择题1.以下正确的C语言标识符是A.%X B.a+b C.a123 D.test2.已定义int a,b;则以下不正确的C语句是A.a=5; B.b/=2; C.a+=1.75; D.b&&=a;3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为x=i=4,j=16,k=32A.4 B.16 C.32 D.524.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A.必须是字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符5.下面正确的字符常量是A.“c” B.’\\”C.‘w’D.”6.设int a=2,b=0,c;则执行语句c+=b&&a--后, c的结果为 ;A.0,1 B.1,0 C.2,0 D.不确定7. 以下不正确的C语言标识符是A intB a_1_2C ab1exeD _x8.以下是正确的C语言标识符是 ;A defineB _123C %dD \n9.下列四组字符串中都可以用作C语言程序标识符的一组是 ;A printB i\amC PxqD str_l_3d one_half My->book Cpp••• oodbs tart$it line pow10.下面各选项组中,均是C语言关键字的组是 ;A auto,enum,includeB switch,typedef,continueC signed,union,scanfD if,struct,type11.下列不属于C语言关键字的是 ;A defaultB registerC enumD external12.C语言程序从main函数开始执行,所以这个函数要写在 ;A 程序文件的开始B 程序文件的最后C 它所调用的函数的前面D 程序文件的任何位置13.下列关于C语言的叙述错误的是A 大写字母和小写字母的意义相同B 不同类型的变量可以在一个表达式中C 在赋值表达式中等号=左边的变量和右边的值可以是不同类型D 同一个运算符号在不同的场合可以有不同的含义14.在C语言中,错误的int类型的常数是 ;A 32768B 0C 037D 0xAF15.将字符g赋给字符变量c,正确的表达式是 ;A c=\147B c="\147"C c=’\147’16.下列转义字符中错误的一个是 ;A ’\000’B ’\0014’C ’\x111’D ’\2’17.将空格符赋给字符变量c,正确的赋值语句是 ;A c=’\0’B c=NULLC c=0D c=3218.已知:char a=’\70’;则变量a中 ;A 包含1个字符B 包含2个字符C 包含3个字符D 说明非法19.字符串"\"EOF\n=-\61\""的长度是 ;A 8B 9C 14D 非法字符串20.字符串""的长度是 ;A 0B 1C 2D 非法字符串21.已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是 ;A intB charC floatD double22.温度华氏和摄氏的关系是: C=-F-32;已知:float C,F;由华氏求摄氏的正确的赋值表达式是 ;A C=5/9F-32B C=5F-32/9C C=5/9F-32D 三个表达式都正确23.逗号表达式"a=35,a4,a+15"的值是 ;A 15B 60C 30D 不确定24.已知 int x=1,y=1,z=1;表达式"x+++y+++z++"的值是 ;A 3B 4C 5D 表达式错误25.用十进制表示表达式"12|012"的值是A 1B 0C 12D 1426.已知int x=1,2,3,4;变量x的值是 ;A 1B 2C 3D 427.表达式sizeofdouble是 ;A 函数调用B double型表达式C int型表达式D 非法表达式28.C语言程序的执行,总是起始于 ;A 程序中的第一条可执行语句B 程序中的第一个函数C main函数D 包含文件中的第一个函数29.下列说法中正确的是 ;A C程序书写时,不区分大小写字母B C程序书写时,一行只能写一个语句C C程序书写时,一个语句可分成几行书写D C程序书写时每行必须有行号30.下面对C语言特点,不正确描述的是 ;A C语言兼有高级语言和低级语言的双重特点,执行效率高B C语言既可以用来编写应用程序,又可以用来编写系统软件C C语言的可移植性较差D C语言是一种结构式模块化程序设计语言31.C语言源程序的最小单位是 ;A 程序行B 语句C 函数D 字符32.以下四项中属于C语言关键字的是 ;A CHARB defineC unsignedD return33.十进制数2403转换成十六进制数为 ;A 963B 369C 953D 35934.二进制数00110101转换成八进制数是 ;A 055B 065C 056D 15235.计算机内部运算使用的数是 ;A 十进制数B 十六进制数C 二进制数D 八进制数36.一个字长的二进制位数是 ;A 2个BYTE,即16个bitB 3个BYTE,即24个bitC 4个BYTE,即32个bitD 随计算机系统不同而不同37.在C语言系统中,假设int类型数据占2个字节,则double、long、unsigned int、char类型数据所占字节数分别多少;A 8,2,4,1B 2,8,4,1C 4,2,8,1D 8,4,2,138.下面程序段执行结果是;int i=5,k;k=++i+++i+i++;printf"%d,%d",k,i;A 24,8B 21,8C 21,7D 24,7三、上机操作题1.分析程序并上机操作;下列程序的运行结果是什么main{int x=5;int y=10;printf“%d\n”,x++;printf“%d\n”, ++y;}2.从键盘上输入学生5门功课的成绩,计算出总成绩和平均成绩并输出;1.C2.D3.C4.C5.C6.D7.A8.B9.A 10.B 11.D 12.D 13.A 14.A 15.C 16.A 17.D 18.A 19.B 20.A 21.C 22.B 23.C 24.A 25.A 26.D 27.C 28.C 29.C 30.C 31.B 32.C 33 A 34 B 35 C 36 A 37 D 38B。
(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
C语言程序设计基础教程习题答案习题答案第1章1.1 填空题1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。
1.1.2 一个函数由__函数头__和__函数体__两部分组成。
1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完成的。
1.1.4 通过文字编辑建立的源程序文件的扩展名__是_.c;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。
1.1.5 C语言程序的基本单位或者模块是__函__数。
1.1.6 C语言程序的语句结束符是____;。
1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。
1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别__为_/*和__*/__。
1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。
且第一个字符必须为字母或下划线。
1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符 3类。
1.2 选择题1.2.1 一个C程序的执行是从( A )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束 1.2.2 以下叙述不正确的是(C)。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) 在C程序中,注释说明只能位于一条语句的后面D) C程序的基本组成单位是函数1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。
A)必须在程序的开头 B)必须在系统调用的库函数的后面C)可以在程序的任意位置 D)必须在程序的最后1.2.4 C编译程序是 (A)。
第一部分 C语言基础一、单项选择1.以下不是C语言的特点的是()。
(A) C语言简洁、紧凑(B)能够编制出功能复杂的程序(C) C语言可以直接对硬件进行操作(D)C语言移植性好2.下列浮点数的表示中正确的有()。
(A)223 (B).719E22 (C ) e23 (D) 12e2.03.字符型常量在内存中存放的是()。
(A)ASCII代码(B)BCD代码(C)内部码(D)十进制码4.“BB\n\\\123\r”在内存中占的字节数是(),此字符串的长度为()。
(A)6 (B)7 (C)8 (D)9 (E)10 (F)115.对于语句scanf (“%f□%f,z=%f”,&x,&y,&z ); ,其合法的输入形式为()。
(A)□14.7□2.0□15.3 (B)14.7,2.0,15(C)14.7□□2.0,15.3 (D)14.7□□□2.0,z=156.下列运算符中,结合方向为自左向右的是()。
(A)=(B),(C)+=(D)――7.若有int x ; 则sizeof(x)和sizeof(int )两种描述( ) 。
(A)都正确(B)值不一样(C)前者正确(D)后者正确8.整型变量x=1,y=3,经下列计算后,x的值不等于6的是( ) 。
(A)x=(x=1+2,x*2) (B)x=y>2?6:5 (C)x=9 - (- -y) - (- -y) (D)x=y*4.2/29.单精度变量x=3.0, y=4.0,下列表达式中y的值为9.0的是( ) 。
(A)y/=x*27/4 (B)y+=x+2.0 (C)y- =x+8.0 (D)y*=x-3.010.若整型变量i=3,j=4,作运算j=i+ + + j + i后,i的值为( ),j 的值为( ) 。
(A)10 (B)4 (C)3 (D)1111.设有整型变量x=10,表达式(x&&1535)&(x|55&100)的值为( ) 。
C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案)C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。
在学习这门课程过程中,习题的练习和掌握是至关重要的一环。
本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。
第一章:基础知识练习习题1:请编写一个C程序,输出"Hello, World!"。
答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题2:请编写一个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;}```第二章:条件语句练习习题3:请编写一个C程序,判断某年份是否为闰年。
答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;}```习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
选择题(第一部分)1、有以下程序void fun(int a[],int i,int j){ int t;if(i<j){ t=a[i];a[i]=a[j];a[j]=t;i++; j--;fun(a,i,j);}}main(){ int x[]={2,6,1,8},i;fun(x,0,3);for(i=0;i<4;i++) printf("%2d",x[i]);printf("\n");}程序运行后的输出结果是______。
A:1 2 6 8B:8 6 2 1C:8 1 6 2D:8 6 1 2答案:C评析:本题考的是函数参数的传递。
当用数组名作函数参数时,数组名代表数组的首地址。
fun(x,0,3);是将数组名x作为实参,把数组x 的首地址传送给形参(指针a),这样数组x与形参指针a共占同一段内存单元,所以在调用函数期间,如果改变了形参数组x的值,也就改变了实参指针a的值。
另外此题还考了个函数自身的调用,下面是调用fun()函数的运行过程:a=x,i=0,j=3,判断i<j,交换a[i],a[j],此时a[0]到a[3]里面的数分别为8,6,1,2,也即是 x[0]到x[3]中的数值,因为它们共用存储单元;i++; j--后继续调用fun(),此时i,j分别为1,2,交换a[1],a[2]的值后a所指向的存储单元中的数据为8,1,6,2;继续i++; j--后判断i<j不成立,返回主函数,输出x[i]即指针a所指向的数据8,1,6,2。
故本题答案为C。
2、有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是______。