当前位置:文档之家› 程序设计基础(C语言)第3版习题及答案

程序设计基础(C语言)第3版习题及答案

程序设计基础(C语言)第3版习题及答案
程序设计基础(C语言)第3版习题及答案

如对您有帮助,请购买打赏,谢谢您!

第1章C语言概述

【习题1-1】简述C语言的特点。

答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。

【习题1-2】简述上机调试运行C程序的操作步骤。

答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。

【习题1-3】上机运行本章的3个例题。

答:略。

【习题1-4】请从以下的4个选项中选择一个正确答案。

(1)A (2)A (3)C (4)B

【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:

**************

Nice to meet you!

**************

编写程序如下:

#include

void main()

{

printf("**************\n");

printf("Nice to meet you!\n");

printf("**************\n");

}

第2章基本数据类型和运算符

【习题2-1】上机编辑并调试本章所有例题。

答:略。

【习题2-2】下面哪些是合法的常量?

⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a

⑵'mn' "OK" "a" '\012' "a/b" '\\'

答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a

⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'

【习题2-3】下面的变量名中哪些是合法的?

A&b abc123 abc% AbC a_b_c

int _abc 123abc a\b?c

a bc a*bc 'a'bc

答:合法的变量名有:abc123 AbC a_b_c _abc

【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?

⑴Int i,j;

⑵float a,b;

⑶int a,b;float a,b;

⑷float a,int b;

⑸char 'a';

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,66 C.A,B????D.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);

完整word版单片机C语言应用程序设计第五版马忠梅课后习题答案

第一章单片机由哪几部分组成?、80511可P2P0和个8位并行I/O口(其中8位中央处理器CPU、片内振荡电器及其时钟电路,4,个中断优先级)个中断源(具有2位定时器/计数器,5 用于外部存储器的扩展),2个16 全双工串行口,布尔处理器。单片机有多少个特殊功能寄存器?它们可以分为几组,各完成什么主要功能?、80512 表P7 1-3个特殊功能寄存器,在物理 上是分散在片内各功能部件中,在数218051单片机内部有答:中,以便能使用统一的直接寻址方式80H~FFH学上把它们组织在内部数据存储器地址空间来访问。这些特殊功能寄存器颁 在以下各个功能部件中:主要完;DPH两个8位寄存器组成)PSW、SP、DPTR(由DPL和(1)CPU:ACC、B、成运算和逻辑判断功能;完成中断管理IP、IE;(2)中断系统:完成 定时或者计数功能、TH1;TCOM、TL0、TH0、TL1(3)定时器/计数器:TMOD、口带有可选的纵向拓展I/O完成I/O口功能,其中部分P1P0、、P2、P3(4)并行I/O口:功能。主要完成数据的串行发送和接收SBUF、PCON5)串行口:SCON、(、决定程序执行顺序的寄存器是哪几个?它是几位寄存器?是否为特殊功能寄存器?它的3 内容是什么信息?它的内容是下一条 将要执行的不是特殊功能寄存器,它是16位寄存器,是程序计数器PC,程序的地址的用途是什么?它由哪几个特殊功能寄存器组DPTRDPTR是什么特殊功能寄存器?4、成?位)和8DPL (数据指针低是16位数据指针寄存器,它由两个8位特殊功能寄存器DPTR位地址,作地址寄存器用,可寻址外部16DPTR用于保存DPH(数据指针高8位)组成,数据存储器,也可寻址程序存储器。线?它们和单片机对外的地址总线和数据总线有什么关系?地址的引脚有多少I/O5、8051 总线和数据总线各是多少位?线可以在外扩存储器时分时复根I/OP0口8I/O8051单片机的40个引脚中有32根口线,和P3.6位地址总线,P2口作为高8用作为外部存储器的低8位地址 总线和8位数据总线,位。16位,数据总线为8P3.7分别作为外部存储器的写和读控制线。地址总线单片机堆栈的最大容量不能超过多少字8051、什么是堆栈?堆栈指针SP的作用是什么? 6 节?堆栈是数据寄存器的一部分,这一部分数据的存取是按照先入后出、后入先出的原则进行的。堆栈指针SP在启用堆栈之前是用来决定堆栈的位置。如在8051芯片复位后,SP的值为07H,则决定了堆栈从08H开始设置。修改SP值可以使堆栈设置在内部RAM的其它部分。在堆栈启 用之后,SP指向堆栈顶部,即由SP来决定数据读出和存入堆栈的地址。8051单片机内部用作 数据区的RAM的容量为128个字节,前8个字节要用来作为工作寄存器R0-R7。堆栈可以从08H开始设置直到7FH,共120个字节。但这只是最大可能的容量。一般情况下,内部RAM还要分出一部分作一般的数据区,或者还要用其中的位寻址区来用于位操作,等等。所以,8051 的堆栈区是比较小的,使用时要注意到这个限制。 8、8051内部RAM低128字节可分为几个区域?其中通用寄存器区的字节地址范围为多少?如何实现寄存器组的切换?可位寻址区的字节地址和位地址范围分别为多少? 8051内部RAM的低128字节可以分为通用寄存器区、位寻址区、便签(工作或者堆栈RAM)1 中的个字节。设置PSW区和特殊功能寄存器区。通用寄存器区的地址从00H到1FH共3212816个字节RS1可以切换当前通用寄存器组。位寻址区地址从20H到2FH共位RSO和127. 0到位,占用地址8051单片机对外有几条专用控制线?其功能是什么?9、,高电位有效,当有条专用控制线。它们是复位信号线RST一般的说法是8051单片机有4,低电平有效,当此复位信号从此线输入时,使单片机复位。访问外部存贮器控制信号EA先使用片单片机全部使用外部指令存贮器,而当此控制线为高电平时,控制线为低电平时,1000H(地址为,在4KB范围之外,才使用指令存贮器FFFFH内的4KB指令存贮器(0000H-)和外部地址锁存器允PSEN-FFFFH)。另有两条输出控制:外部程序存贮器的读选通信号。前者是低电平有效,在读外部程 序存贮器时使用。后者是高电平有效,在锁存ALE许信号P0口输出的低8位地址时使用。端必须怎样处理?为什么?10、8031的/EA为有效时,/EA访问内部ROM,当端是访问外部程序

C语言第三章复习题及答案

C语言复习题1 一、选择题 1.C语言提供的合法的数据类型关键字是(B)。 (A)Double (B)short (C)integer (D)Char 2.在C语言中,合法的长整型常数是(A )。 (A)0L (B)4962710 (C)0.054838743 (D)2.1869e10 3.若有说明和语句: int a=5; a++; 此处表达式a++的值是( C)。 (A)7 (B)6 (C)5 (D)4 4.C语言中最简单的数据类型包括(B )。 (A)整型、实型、逻辑型 (B)整型、实型、字符型 (C)整型、字符型、逻辑型 (D)整型、实型、逻辑型、字符型 5.以下说法中正确的是( C)。 (A)C语言程序总是从第一个定义的函数开始执行 (B)在C语言程序中,要调用的函数必须在main()函数中定义 (C)C语言程序总是从main()函数开始执行 (D)C语言程序中的main()函数必须放在程序的开始部分 6.在C语言中,要求运算数必须是整型的运算符是( A )。 (A) % (B) / (C) < (D) ! 7.以下有4个用户标识符,其中合法的一个是(C )。 (A) for (B) 4d (C) f2_G3 (D) short 8.假定x和y为double型,则表达式x=2,y=x+3/2的值是( D )。 (A) 3.500000 (B) 3 (C) 2.000000 (D) 3.000000 9.下面程序的输出是( C )。 (A) 0 (B) 1 (C) 3 (D) 不确定的值 main() { int x=10,y=3; printf("%d\n",y=x/y);} 10.执行下面程序中输出语句后,a的值是( C )。 (A) 65 (B) 20 (C) 15 (D) 10 main() {int a; printf("%d\n",(a=3*5,a*4,a+5));} 11.C语言提供的合法的关键字是( D )。 (A)Switch (B)cher (C)Case (D)default 12.在C语言中,合法的字符常量是( B )。 (A)'\084' (B)'\x43' (C)'ab' (D)"\0" 13.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( C )。 (A)1 (B)2 (C)2.0 (D)2.5 14.以下叙述中错误的是( B )。 (A)算法正确的程序最终一定会结束 (B)算法正确的程序可以有零个输出 (C)算法正确的程序可以有零个输入

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

c语言程序设计第五版习题答案()

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100;

a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。 #include <> main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** *

C语言练习题-第三章参考答案(已勘误)

C语言练习题---第三章 1、有以下程序 #include<stdio.h> main() {short c=124; c=c_______; printf(“%d\n”,C); } 若要使程序的运行结果为248,应在下划线处填入的是 A)>>2 B)|248 C)&0248 D)<<1 2、以下程序运行后的输出结果是2008。 #include<stdio.h> main() {int a=200,b=010; printf(”%d%d\n”,a,b); } 3、有以下程序 #include<stdio.h> main() {int x,y; Scanf(“%2d%ld”,&x,&y);printf(“%d\n”,x+y); } 程序运行时输入:程序的运行结果是34579。 4、有以下程序 #include Void main() { char a,b,c,d; scanf(”%c%c”,&a,&b); c=getchar(); d=getchar(); printf(”%c%c%c%c\n”,a,b,c,d); } 当执行程序时,按下列方式输入数据(从第一列开始,代表回车,注意:回车是一个字符) 12

34 则输出结果是:() A、1234 B、12 C、12 D、12 3 34 5、有以下程序,其中k的初值为八进制数 #include main() {int k=011; printf(”%d\n”,k++); } 程序运行后的输出结果是D (A)12 (B)11 (C)10 (D)9 6、有以下程序(暂不做) #include void fun (char*c,int d) {*c=*c+1;d=d+1; printf(”%c,%c,”,*c,d); } main() {char b=’a’,a=’A’; fun(&b,a); printf(”%c,%c\n”,b,a); } 程序运行后的输出结果是A A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B 7、以下程序 #include #define SUB(a) (a)-(a) main() {int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(”%d\n”,d); } 程序运行后的结果是C A)0 B)-12 C)-20 D)10 8、有以下程序 #include main()

C语言 习题三 参考答案

第三章习题参考答案 一、单项选择题 1、C语言中字符型(char)在内存中的形式存储是()。 A)源码 B)补码 C)反码D)ASCII码 2、运算符有优先级,在C语言中关于运算符优先级的正确叙述是()。 A)所有单目运算的级别相同 B)单目运算高于双目运算 C)赋值运算级别最低 D)求余运算比乘除运算级别高 3、C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的说法是()。 A)任何不同数据类型都不可以通用 B)有些不同类型的变量可以在一个表达式中运算 C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D)同一个运算符号在不同的场合可以有不同的含义 4、以下选项中属于C语言的数据类型是()。 A)复数型 B)逻辑型C)双精度型 D)集合型 5、在C语言中,int、char和short三种类型数据所占的内存()。 A)均为2个字节 B)由用户自己定义 C)由所用机器的字长决定 D)是任意的 6、下列常数中不能作为C语言的常量的是()。 A)0xa5 B)2.5e-2 C)3e2 D)0582 7、设int类型的数据长度为2字节,则unsigned int类型数据的取值范围是()。 A)0至255 B)0至65535 C)-256至255 D)-32768至32767 8、在C语言中,数字029是一个()。 A)八进制数 B)十六进制数 C)十进制D)非法数 9、下列可以正确表示字符型常数的是()。 A)”a”B)'\t’ C)”\n” D)297 10、以下错误的转义字符是()。 A)'\\’ B)'\'’ C)'\81’ D)'\0’ 11、C语言中整数-8在内存中的存储形式是()。 A)1111 1111 1111 1000 B)1000 0000 0000 0000 C)0000 0000 0000 1000 D)1111 1111 1111 0111 12、已知 int i; float f; 正确的语句是()。 A)(int f)%i B)int(f)%i C)int(f%i) D)(int)f%i 13、已知:char a; int b;float c; double d; 执行语句c=a+b+c+d; 后,变量c的数据类型是()。 A)int B)char C)float D)double 14、已知:int i,a;执行语句“i=(a=2*3,a*5),a+6;后,变量i的值是()。 A)6 B)12 C)30 D)36 15、已知:int i=5;执行语句i+= ++i;i的值是()。 A)10 B)11 C)12 D)A,B,C答案都不对

标准C语言程序设计第五版课后练习题答案

课后练习题答案 Chapter 1 1.1×√×√√×√××√ 1.2b c 1.3ad 1.4semicolon printf math、h \n Chapter 2 2、1 ×√××√√×√××√× 2、2 typedef 255 external const Chapter 3 3、1 ×√××√√×××√√√ 3、2 integer modula 6 logical sizeof paratheses typeconversion precedence 3、3 F F T F F F 3、4 F T T T F 3、5 (b) (c) 3、6 0 -2 7 10、25 false 3 3 1 3、10 0 1 1 1 1 3、11 d } 100 3、12 110 111 3、13 1 3、14 200 3、15 x<=y 3、16 TRUE 3、19 2 1 4 3、20 -40 40 Chapter 4 4、1 ×√√√√√××√√√× 4、2 %hd %x ctype、h %l %*d [^] blank 6 - %e 4、4 (a) scanf(“%d %c %d”, &a, &b, &c); (b)scanf(“%d %f %s”, &a, &b, &c); (c) scanf(“%d-%d-%d”, &a, &b, &c); (d) scanf(“%d %s %d”, &a, &b, &c);

4、5 (a)10x1、230000 (b)1234x 1、23 (c)1234 456、000000 (d) “123、40 ” (e) 1020 1222(乱码) 4、7 (a)1988 x (b)乱码 (c)120 乱码 (d)乱码 x 4、8 (a)1275 -23 5、740000 (b) 1275 -235、740000 (c) 0 0、000000 (d) 1275xxxx-235、74 (e)Cambridge (f)1275 Cambridge 4、10 1988 无无 Chapter 5 5、1 √×√××××××√ 5、2 && switch break if-else x=y 5、4 (a)x = 2; y = 0; (b) x = 1; y = 0; 5、5 (a) if (grade <= 59) if (grade >= 50) second = second + 1; (b) if (number > 100) printf(“out of range”); else if (number < 0) printf(“out of range”); else sum = sum + number; (c) if (T > 200) printf(“admitted”); else if (M > 60) {if (M > 60) printf(“admitted”);} else printf(“not admitted”); 5、6 F T F T 5、8 (a) x > 10 (b) (x != 10)||(y ! = 5) || (z >= 0) (c) (x + y != z) || (z > 5) (d) (x > 5) || (y != 10) || (z >= 5) 5、9 (a) x = 5; y = 10; z = 1 (b) x = 5; y = 10; z = 1 (c) x = 5; y = 0; z =0 (d) 无变化 5、10 (a) x= 0; y = 2; z = 0; (b) x = 1; y = 2; z = 0; 5、12 8 5、13 Delhi Bangalore END 5、14 2 4 4 8 5、15 0 0 2 5、16 25 5、17 Number is negative 5、18 ABC

C语言第三章习题带答案-2012.10.9更新

练习3-1答案 一、选择题 1.在C语言库函数中,可以输出double型变量x值的函数是( D )。 A.getchar B.scanf C.putchar D.printf 2.执行语句:printf("The program\'s name is c:\\tools\book.txt");后输出是( D )。 A.The program's name is c:tools book.txt B.The program's name is c:\tools book.txt C.The program's name is c:\\tools book.txt D.The program's name is c:\toolook.txt 3.以下程序的输出结果是( D )。(注:□表示空格) main() {printf("\n*s1=%15s*", "chinabeijing"); printf("\n*s2=%-5s*", "chi"); } A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□*s2=**chi* *s2=chi□□* C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□* 4.选择程序的运行结果,①是( B )、②是( B )、③是( D )、④是( C )。 #include main() {int a=-10, b=-3; printf("%d\n", a%b); /*输出①*/ printf("%d\n", a/b*b); /*输出②*/ printf("%d\n", -a%b); /*输出③*/ printf("%d\n", a-=b+++1); /*输出④*/ } ①A.-2 B.-1 C.0 D.1 ②A.-10 B.-9 C.-8 D.0 ③A.-2 B.-1 C.0 D.1 ④A.-10 B.-9 C.-8 D.-7 5.以下C程序正确的运行结果是( D )。(注:□表示空格) main() {int y=2456; printf("y=%3o\n", y); printf("y=%8o\n", y); printf("y=%#8o\n", y); } A.y=□□□2456 B.y=□□□4630 y=□□□□□□□□2456 y=□□□□□□□□4630 y=#########2456 y=#########4630

C语言习题级答案3

测试题3 1.C语言中不合法的字符常量是C A、’\65’ B、’\xff’ C、’\028’ D、’&’ 2.具有相同类型的指针变量p与数组a,不能进行的操作是(C)。 A、p=&a[0]; B、p=a; C、p=&a; D、*p=a[0]; 3.若有x=22,y=26,z=0;,则执行下面语句后,z的输出结果是(B ) z=x>y?x:y A、72 B、26 C、48 D、22 4.对于建立函数的目的,正确的说法是D A、提高程序的执行效率 B、减少程序的篇幅

C、减少程序文件所占的内存 D、提高程序的可读性 5.有定义:char*p1,*p2;则下列表达式中正确合理的是C A、p1/=5 B、p1+=5 C、p1=&p2 D、p1*=p2 6.以下程序的运行结果是(B)。 main() { int i=1,sum=0; while(i<10) sum=sum+1;i++; printf("i=%d,sum=%d",i,sum); } A、i=10,sum=9 B、运行出现错误 C、i=2,sum=1 7.若变量已正确定义且k 的值是4,计算表达式( j =4, k--) 后,j和k的值为(C) A、j=4, k=4 B、j=3, k=3 C、j=4, k=3 D、j=3, k=4

8.给出以下定义: char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为(A) A、数组x的长度大于数组y的长度 B、数组x和数组y等价 C、数组x和数组y的长度相同 D、数组x的长度小于数组y的长度 9.在下述程序中,判断i > j共执行了多少次 C #include main() { int i = 0, j = 10, k = 2, s = 0; for( ; ; ) { i += k; if(i > j) { printf(“%d\n”, s); break; }

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

c语言习题及答案

第一章1.1 题目内容: 使用printf()在屏幕上输出hello world! 提示: #include int main() { printf("hello world!\n"); return 0; } 输入格式: 无 输出格式: 输出提示信息:"hello world!\n" 输入样例: 输出样例: hello world! #include int main() { printf("hello world!\n"); return 0; } 1.2 在屏幕上输出多行信息(3分) 题目内容: 使用printf()函数在屏幕上输出以下多行信息: hello world! hello hit! hello everyone! 提示: 在printf()函数中转义字符‘\n’表示换行。

输入格式: 输出格式: 输出提示信息: "hello world!\n" "hello hit!\n" "hello everyone!\n" 输入样例: 输出样例: hello world! hello hit! hello everyone! #include int main() { printf("hello world!\n"); printf("hello hit!\n"); printf("hello everyone!\n"); return 0; } 1.3 计算半圆弧的周长及半圆面积(3分) 题目内容: 编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。输入格式: 无 输出格式: 半圆的面积输出格式: "Area=%f\n" 半圆弧的周长输出格式: "circumference=%f\n" 输入样例: 输出样例: Area=44.123632 circumference=16.650427 #include #define PI 3.14159 #define R 5.3 int main() { printf("Area=%f\n", R*R*PI/2); printf("circumference=%f\n", 2*R*PI/2); return 0; }

C语言谭浩强版本第三章课后练习题答案

第三章课后练习题 一、单项选择题 1.根据C语言的语法规则,不能做变量名的是: A)do B)Name C)R5 D)_exam 2.下列四组选项中,全是C语言关键字的选项是:感觉没有答案 A)define IF type B)getc char printf :printf是函数名 C)include case scanf :同上 D)while go pow :同上 3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符: A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 4.在C语言中,合法的字符常量是: A) 3 B)‘S’ C)'ab' D)"A" 5.若已定义x和y为double类型,则表达式:x=1,y=x+3/2中y的值是: A) 1 B) 2 C) 3 D) 2.5 6.C语言提供的不合法的数据类型关键字是: A)double B)short C)integer D)char 7.合法的C语言中,合法的字符串是: A)'\t' B)"A" C)‘a’ D)‘a\t’ 8.执行语句int a=5; a++;后,a的值是: A)7 B) 6

C) 5 D) 4 A) 9.以下选项中属于C语言的数据类型是: A)复合型 B)双精度型 C)数学型 D)集合型 10.Vc6.0下各种基本数据类型的存贮空间正确的长度排列是: A)int< Char<=float

c语言习题答案

实验一 (1)编程求37+29的值,实习VC环境。 #include void main() { int a,b,sum; a=37; b=29; sum=a+b; printf("sum=%d",sum); } (2)从键盘输入三个整数,求出最大数并输出。 #include void main() { int a,b,c,y; int max(int x,int y); printf("input a,b,and c:"); scanf("%d,%d,%d",&a,&b,&c); y=max(a,b); y=max(y,c); printf("\nmax=%d\n",y); } int max(int x,int y) { int z; if(x>y) z=x; else z=y; return(z); } (3)通过上机实践,运行下列程序并分析输出结果。 A 程序代码 #include void main() { char ch='a'; printf("%c对应的ASCII码是:%d\n",ch,ch); } 程序输出结果:a对应的ASC||码是:97

B 程序代码 #include void main() { int a=168; float b=123.456; float x=35.567,y; printf("a=%5d\n",a); printf("a=%-5d\n",a); printf("b=%6.2f\n",b); printf("b=%e\n",b); y=(int)(x*100+0.5)/100.0; printf("x=f,y=%f\n",x,y); } 程序输出结果: a=168 a=168 b=123.46b=1.234560e+002 x=f,y=35.567001 C程序代码 #include void main() { int a=168; printf("十进制数%d对应的八进制数是%o\n",a,a); printf("十进制数%d对应的十六进制数是%x\n",a,a); } 程序输出结果: 十进制数168对应的八进制数是250 十进制数168对应的十六进制数是a8

c语言第三、四章(习题册答案)

第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的C 语言浮点型常量是(C)。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,(D)是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" 3、在C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、表达式!x||a==b 等效于(D)。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 7、设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是(B)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 8、设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a 的值是(B)。 A. 3 B. 0 C. 9 D. -12 9、在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. = 10、设整型变量i 值为2,表达式(++i)+(++i)+(++i)的结果是(B)。 A. 6 B. 12 C. 15 D. 表达式出错 11、若已定义x 和y为double 类型,则表达式x=1,y=x+3/2 的值是(C)。 A. 1 B. 2 C. 2.0 D. 2.5 12、设a=1,b=2,c=3,d=4,则表达式:a10 && a<15 D. !(a<=10) && !(a>=15) 14、设f是实型变量,下列表达式中不是逗号表达式的是(D)。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 15、表达式18/4*sqrt(4.0)/8值的数据类型是(C)。 A. int B. float C. double D. 不确定 16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2=’A’+’6’-‘3’;后c2中的值是(A)。 A. D B. 68 C. 不确定的值 D. C 17、以下用户标识符中,合法的是(B)。 A. int B. nit C. 123 D. a+b 18、C 语言中,要求运算对象只能为整数的运算符是(A)。

C语言习题册答案集

第1章绪论 一、选择题 1~5 CABCD 6~10 BDCBC 11~15 AADCC 二、程序填空题 1、一个C语言程序是由函数组成的。 2、C源程序的后缀名为 3、在C程序中,main()函数最多有 1 个。 4、一个C语言程序总是从主函数/main( ) 开始执行。 5、在C语言里输入是由 scanf 函数实现,输出是由 printf 函 数实现。 6、C语言中,当复合语句多于一条时,要求有一对 { } 括号。 7、一个C源程序必须经过_ 编译__和_链接__生成exe文件才能运行 8、在一个C程序中注释部分两侧的分界符分别为_/*_____和_*/___ 9、编写计算机所程序所使用的语言称为__程序设计语言______。 10、程序设计语言的发展经历了三个阶段__机器语言__、_汇编语言_ 和__高级语言__

第2章基本数据类型及顺序结构程序设计 一、选择题 01~05 ACDDA 06~10 ACAAC 11~15 BDBBC 16~20 DABAA 21~25 DBDAA 26~30 ADDCB 31~35 BDCAB 二、程序填空题 1、__基本数据类型、_构造类型___ 和___其它类型_______。 2、 4 、 4 、 8 、 1 。 3、 double 4、 x<-5||x>5或 abs(x)>5 5、 y%2==1 或y%2!=0 6、 x%3==0&&x%7==0或x%21==0 , 7、 10 , 10 。 8、printf(“****a=%d, b=%d****”,a,b) 。 9、a:b ; c:t1 ; 10、 x%10 , x/10%10 ; 三、程序阅读题 1、 G 。 2、 2, 1 。 3、 0 。 4、 16 。 5、2,50 。 6、 b 。 7、 3 。 8、10,20,0 。 9、 2, 。 10、67, e 。

c语言程序设计(科学出版社)课后习题解答

第3章习题解答 第1章 1.C 语言程序主要由预处理命令、函数、注释等组成。 2.填空 (1)分号 (2)main (3)stdio.h 3. 源程序: #include main( ) { printf(“*************************\n”); printf(“Hello World!\n”); printf(“*************************”); } 4. 源程序: #include main( ) { int a, b, c; /* 定义变量*/ scanf(“%d”, &a); /* 输入第一个整数*/ scanf(“%d”, &b); /* 输入第二个整数*/ c=a-b; /* 计算差*/ printf(“%d-%d=%d”,a,b,c); /* 输出结果*/ } 5. (1) (2)x=10; (3)printf(“s=%d\n”,s); 第2章 1. (1) c (2) a (3) b g (4) a d e (5) d 2. a. 5 b. 295 c. 4 d. 29 e. 9 3. a.x=4,y=6

b. x=4,y=3 f.x=3,y=6 4. 16 5. #include main() { int a,b,c; scanf("%d%d",&a,&b); c=a*b; printf("%d*%d=%d",a,b,c); } 第3章 1. (1) b (2) b (3) d (4) a (5) b 2. (1)&a,&b (2)l,s 3. printf(“x=%.2f,y=%.2f\n”,x,y); 4. #include main() { int num1,num2,num3,sum; float average; scanf("%d%d%d",&num1,&num2,&num3); sum=num1+num2+num3; average=sum/3.0; printf("sum=%d,average=%.2f\n",sum,average); } 5. #include main() { int hour,minute,second,total; /* 定义变量代表时、分、秒和总秒数*/ scanf("%d",&total); hour=total/3600; minute=total%3600/60; second=total%3600%60;

相关主题
文本预览
相关文档 最新文档