C语言习题及解答-2-1

C语言概述一.选择题1.下列选项中,合法的C语言关键字是A) VAR B) cherC) integer D) default2.请选出可用作C语言用户标识符的一组标识符____A) Void define WORD B) a3_b3 _123 IFC) For -abc Case D) 2a Do sizeof3.C语言提供的合法的数据类型关键字是____A) Double B) shortC) integer D) Char4.在下列字符中,不可用作C语言标识符的是A) water B) priceC) a>b D) a125.一下叙述正确的是A) C语言比其他高级高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点6.在一个C语言程序中A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置7.下列符号不属于C语言保留字的是A) if B) then C) static D) for8.下列说法正确的是A) 主函数名main是由程序设计人员按照“标识符”的命名规则来选取的B) 分号和回车符都可以作为语句的结束符号C) 在程序清单的任何地方都可以插入一个或多个空格符号D) 程序的执行总是从主函数main()开始的参考答案1.D2.B3.B4.C5.C6.B7.B8.D数据类型与表达式一.选择题1. 下列字符序列中,不可用作C语言标识符的是()。

A)abc123 B)no.1 C)_123_ D)_ok2. 正确的C语言标识符是()。

A)_buy_2 B)2_buy C)?_buy D)buy?3. 请选出可用作C 语言用户标识符的一组标识符( )。

A)void B)a3_b3 C)for D)2adefine _123 -abc DOWORD IF case sizeof4. 下列符号中,不属于转义字符的是( )。

A)\\ B)\0xAA C)\t D)\05. 不属于C 语言关键字的是( )。

A)int B)break C)while D)character8.以下选项中,合法的用户标识符是( )。

A)long B)_2abc C)3dmax D)A)dat10.已知大写字母A 的ASCII 码值是65, 小写字母a 的ASCII 码是97,则用八进制表示的字符常量'\101'是( )。

A)字符A B)字符a C)字符c D)非法的常量12.以下选项中,正确的字符常量是( )。

A)"F" B)'\\'' C)'W' D)''13.以下选项中可作为C 语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a214.下列变量定义中合法的是A)short _a=1-.le-1; B)double b=1+5e2.5;C)long do=0xfdaL; D)float 2_and=1-e-3;16.若有代数式cd ab3,则不正确的C 语言表达式是( )。

A)a/c/d*b*3 B)3*a*b/c/dC)3*a*b/c*d D)a*b/d/c*320.在C 语言中,要求运算数必须是整型的运算符是( )。

A)/ B)++ C)*= D)%21.若有说明语句:char s='\72';则变量s ( )。

A)包含一个字符 B)包含两个字符C)包含三个字符 D)说明不合法,s 的值不确定23.在C 语言中,char 型数据在内存中的存储形式是( )。

A)补码 B)反码 C)原码 D)ASCII 码26.设以下变量均为int 类型,则值不等于7的表达式是( )。

A)(m=n=6, m+n, m+1)B)(m=n=6, m+n, n+1)C)(m=6, m+1, n=6, m+n)D)(m=6, m+1, n=m, n+1)27.假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是( )。

A)7 B)8 C)6 D)229.已知s 是字符型变量,下面正确的赋值语句是( )。

A)s='abc'; B)s='\08';C)s='\xde'; D)s="\";30.若有以下定义,则正确的赋值语句是( )。

int x,y;float z;A)x=1,y=2, B)x=y=100C)x++; D)x=int (z);31.设x、y均为float型变量,则不正确的赋值语句是()。

A)++x ; B)x*=y-2;C)y=(x%3)/10; D)x=y=0;33.putchar函数可以向终端输出一个()。

A)整型变量表达式值。

B)字符串C)实型变量值。

D)字符或字符型变量值。

34.以下程序段的输出结果是( )。

int a=12345; printf("%2d\n", a);A)12 B)34 C)12345 D)提示出错、无结果36.以下说法正确的是()。

A)输入项可以为一个实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=5d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);37.以下程序的执行结果是:()。

#include <stdio.h>main(){ int x=2,y=3;printf("x=%%d,y=%%d\n",x,y);}A) x=%2,y=%3 B) x=%%d,y=%%dC) x=2,y=3 D) x=%d,y=%d38.以下程序的输出结果是()。

(注:└┘代表空格)#include <stdio.h>main(){ printf("\nstring1=%15s*", "programming");printf("\nstring2=%-5s*", "boy");printf("string3=%2s*", "girl");}A)string1=programming└┘└┘└┘└┘* B)string1=└┘└┘└┘└┘programming*string2=boy* string2=boy└┘└┘*string3=gi*string3=gi*C)string1=programming└┘└┘└┘└┘* D)string1=└┘└┘└┘└┘programming*string2=└┘└┘boy*string3=girl* string2=boy└┘└┘*string3=girl* 39.阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为()。

#include <stdio.h>main(){ int a,b;scanf("%d%d", &a,&b);printf("a+b=%d\n",a+b);}A)a+b=46 B)有语法错误C)a+b=12 D)不确定值40.以下语句:temp=x;x=y;y=temp;的功能是( )。

A)把x,y,temp从小到大排列B)把x,y,temp从大到小排列C)交换x和y D)无确定的结果二.填空题1.在内存中要用_____7___个字节来存储字符串"Double"。

2.字符0的十进制ASCII码值是48,则字符9的十进制ASCII码值是____57_____。

3.字符型(char)数据在内存中是以其_________的形式存储的。

4.8位无符号二进制数能够表示的最大十进制数是________。

5.语句printf("a\bRe\'CH\'y\\\bou\n");的输出结果是_________。

6.若有说明char s1="5";那么s1里包含___1_____个字符。

7.十进制数125在一个字节的二进制表示是_________。

8.C语言的关键字都用________{大写或小写}。

9.C语言是通过_______来进行输入和输出的。

11.以下程序的执行结果是________。

#include <stdio.h>main(){ char s='b';printf("dec:%d,oct:%o,hex:%x,ASCII:%c\n", s,s,s,s);}13.以下程序的执行结果是:________。

#include <stdio.h>main(){ char c='c'+5;printf("c=%c\n",c);}14.以下程序输入1└┘2└┘3后的执行结果是________。

(注:└┘代表空格)#include <stdio.h>main(){ int i,j;char k;scanf("%d%c%d",&i,&k,&j);printf("i=%d,k=%c,j=%d\n",i,k,j);}15.有以下程序,若输入9876543210后的执行结果是________;若输入为:98└┘76└┘543210后的执行结果是________;若输入为:987654└┘3210后的执行结果为:________。

(注:└┘代表空格)#include <stdio.h>main(){ int x1,x2;char y1,y2;scanf("%2d%3d%3c%c",&x1,&x2,&y1,&y2);printf("x1=%d,x2=%d,y1=%c,y2=%c\n",x,y);}16.若x和y均为int型变量,则以下语句的功能是________。

x+=y; y=x-y; x-=y;17.有一输入函数scanf("%d",k);则不能使float类型变量k得到正确数值的原因是:________。

合集下载

c程序设计语言(第2版新版)习题解答

c程序设计语言(第2版新版)习题解答

c程序设计语言(第2版新版)习题解答C程序设计语言(第2版新版)是计算机编程领域的经典教材,由Brian W. Kernighan和Dennis M. Ritchie共同编写,后者也是C语言的共同发明者。

这本书不仅介绍了C语言的基本语法和编程技巧,还包括了丰富的习题,帮助读者更好地理解和掌握C语言。

以下是对书中部分习题的解答。

第1章引言习题1-1:编写一个C程序,打印出“Hello, World!”。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题1-2:修改上述程序,使其打印出不同的字符串。

```c#include <stdio.h>int main() {printf("Welcome to C Programming!\n");return 0;}```第2章数据类型及其运算习题2-1:编写一个程序,计算两个整数的和,并打印结果。

```c#include <stdio.h>int main() {int a, b, sum;a = 5;b = 10;sum = a + b;printf("The sum of %d and %d is %d\n", a, b, sum);return 0;}```习题2-2:编写一个程序,计算两个浮点数的乘积。

```c#include <stdio.h>int main() {float x, y, product;x = 3.14159;y = 2.718;product = x * y;printf("The product of %.5f and %.5f is %.5f\n", x, y,product);return 0;}```第3章控制语句习题3-1:编写一个程序,打印从1到10的整数。

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。

2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。

二、填空题1. 在C语言中,`________`关键字用于声明一个函数。

答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。

2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。

```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。

三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。

```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。

2. 编写一个C语言程序,实现将一个字符串反转。

```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。

《C语言》练习题及答案解析

《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语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

其基本结构包括顺序结构、选择结构和循环结构三种。

2.算法是对具体问题求解步骤的一种描述。

计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。

1-3 编程题1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。

#include "stdio.h"main(){ float a, b, h, s;a=10; b=20;h=5; s=(a+b)*h/2;printf("s=%f\n" , s );}2. 编写程序显示如图1.11所示信息。

图1.11 显示信息#include "stdio.h"main(){ printf("******************************\n");printf("* hello world *\n");printf("******************************\n"); }习题22-1 单选题1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题1.2.0000002.1,0.53.9,24.65.100,d6.(1)20 (2)0 (3)607. (1)10,6,4 (2)6,9,15 (3)3,60,838. 55习题33-1 选择题1-5BDABC 6-10ADCAC 11-12BB3-2 填空题1. 32.02613.0x104. 2, 1 互换a,b的值5. 6.66.–0038.77. 5.0,4,c=3<Enter>8.i=10,j=20<Enter>9.(1) 65(2) 65,A(3) 56.123400,123.456001(4) 3.141600(5) 8765.432(6) 5.864000e+002(7) 3.141600e+000(8) 3.1416(9) 8765(10) 3.1416,8765.4310.a=2 b=5x=8.8 y=76.34c1=65 c2=973-3 编程题1. 编写程序实现从键盘输入两个十进制整型数据10和8给变量x和y,并按下列格式 输出。

C语言练习题及答案

C语言练习题及答案

运行结果为:no 2. #include main() { int a=12, b= -34, c=56, min=0; min=a; if(min>b) min=b; if(min>c) min=c; printf("min=%d", min); } 运行结果为: min=-34 3. #include main() { int x=2,y= -1,z=5; if(x<y) if(y<0) z=0; else z=z+1; printf(“%d ”,z); }
char name[ ]; float score; }stu; 则下面的叙述不正确的是: ( D ) A. struct 是结构体类型的关键字 B. struct student 是用户定义的结构体类型 C. num, score 都是结构体成员名 D. stu 是用户定义的结构体类型名 31.若有以下说明语句: struct date { int year; int month; int day; }brithday; 则下面的叙述不正确的.是_____. A) struct 是声明结构体类型时用的关键字 B) struct date 是用户定义的结构体类型名 C) brithday 是用户定义的结构体类型名 D) year,day 都是结构体成员名 32. 以下对结构变量 stul 中成员 age 的非法引用是 struct student { int age;
16. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n 的值是(A) A.1B.4 C.4.333333D.4.6 17. 以下对一维数组 a 的正确说明是: A) char a(10); B) int a[]; C)int k=5,a[k];D)char a[3]={?a?,?b?,?c?}; 18.以下能对一维数组 a 进行初始化的语句是: ( C ) A. int a[5]=(0,1,2,3,4,) B. int a(5)={} C. int a[3]={0,1,2} D. int a{5}={10*1} 19.在 C 语言中对一维整型数组的正确定义为 。 A)int a(10); B)int n=10,a[n]; C)int n;a[n]; D)#define N 10 int a[N]; 20、已知:int a[10]; 则对 a 数组元素的正确引用是( D )。 A、a[10] B、a[3.5] C、a(5) D、a[0] 21.若有以下数组说明,则 i=10;a[a[i]]元素数值是( B )。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A.10 B.9 C.6 D.5 22.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组 a 的第一维的大小为: ( B A. 2 B. 3 C. 4D.无确定值 5 7 D) 3 6 9 23.对二维数组的正确定义是( C ) A.int a[ ] [ ]={1,2,3,4,5,6}; B.int a[2] [ ]={1,2,3,4,5,6};

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30D. 756. .以下程序的输出结果是( c )。

main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:cA.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。

C语言程序设计练习题(答案)

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语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。

C语言课后习题参考答案

C语言课后习题参考答案第一章:基础知识问题1:C语言的发展历史及特点C语言是由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代初开发的一种高级程序设计语言。

它以其简洁、高效和可移植性而闻名。

C语言被广泛应用于系统级编程、嵌入式系统和科学计算等领域,并成为其他编程语言的基础。

问题2:C语言的基本数据类型及其存储范围C语言的基本数据类型包括字符型(char)、整型(int)、浮点型(float)、双精度浮点型(double)和空类型(void)。

它们的存储范围如下:- char:-128 到 127 或 0 到 255- int:-32,768 到 32,767 或 0 到 65,535- float:3.4E-38 到 3.4E38- double:1.7E-308 到 1.7E308- void:无特定存储范围问题3:如何在C语言中输出语句?在C语言中,可以使用printf函数来输出语句。

它的基本语法为:```cprintf("要输出的内容");```问题4:定义变量的语法规则在C语言中,定义变量的语法规则如下:```c数据类型变量名;```例如,定义一个整型变量x:```cint x;```问题5:如何进行变量的赋值?变量的赋值可以使用赋值运算符(=)。

例如,将一个整型常量10赋值给变量x:```cx = 10;```第二章:控制结构问题1:if语句的语法结构if语句用于根据条件执行不同的代码块。

它的基本语法结构如下:```cif (条件) {// 条件为真时执行的代码}```问题2:switch语句的用法及语法结构switch语句用于根据不同的表达式值执行相应的代码块。

它的基本用法及语法结构如下:```cswitch (表达式) {case 值1:// 当表达式的值等于值1时执行的代码break;case 值2:// 当表达式的值等于值2时执行的代码break;default:// 当表达式的值与所有case都不匹配时执行的代码break;}```问题3:循环语句的分类及语法结构C语言中的循环语句包括for循环、while循环和do-while循环。

C语言编程习题及答案

1-1. 编写求圆的面积、周长的程序。

圆的半径从键盘输入。

#include<stdio.h>void main(){float r,c,s;scanf("%f",&r);c=2*3.1415926*r;s=3.1415926*r*r;printf("周长为:%f,面积为:%f\n",c,s);}1-2.输入三个正数,计算并输出由此构成的立方体的体积。

#include<stdio.h>void main(){float a,b,c,v;scanf("%f,%f,%f",&a,&b,&c);v=a*b*c;printf("体积为:%f\n", v);}1-3.输入华氏温度h,计算并输出摄氏温度s. (转换公式:s=5 / 9(h - 30) )。

#include<stdio.h>void main(){float h,s;printf("请输入华氏温度:");scanf("%f",&h);s=5.0/9.0*(h-32);printf(" 摄氏温度为:%f\n", s);1-4.用*号输出字母C的图案。

#include<stdio.h>void main(){printf(" **\n");printf(" *\n");printf("*\n");printf("*\n");printf(" *\n");printf(" **\n");}2-1.输入三个正数a,b,c,如果能构成三角形,计算并输出该三角形的面积。

面积公式:(其中:p=(a+b+c)/2)#include<stdio.h>#include<math.h>#define p(a,b,c,x) sqrt(x*(x-b)*(x-c))void main(){double a,b,c,x;scanf("%lf,%lf,%lf",&a,&b,&c);if(a<0||b<0||c<0||a+b<=c||a+c<=b||b+c<=a)printf("不能构成三角形");else{x=(a+b+c)/2;printf("能构成三角形,面积=%lf\n",p(a,b,c,x));}}2-2.分段函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档