C语言编程基础习题答案

合集下载

C语言基础题及答案

C语言基础题及答案

C语言基础题及答案1、一个C语言的源程序中[正确答案:A]。

A)必须有一个主函数B)可以有多个主函数C)必须有主函数和其他函数D)可以没有主函数2、关于C程序的主函数,以下描述中正确的是[正确答案:B]。

A)C程序的第一个函数称为主函数,程序从该函数开始运行。

B)C程序的主函数即是main函数,程序从该函数开始运行。

C)C程序可以有多个主函数,程序从第一个主函数开始运行。

D)C程序可以没有主函数,程序从第一个函数开始运行。

3、C程序中,return语句的作用是[正确答案:D]。

A)终止程序运行B)返回到上层循环C)返回到外层结构D)返回到上层函数4、C语言程序的3种基本结构是[正确答案:A]。

A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构C)嵌套结构,递归结构,顺序结构D)循环结构,转移结构,顺序结构5、以下对C程序的描述中正确的是[正确答案:A]。

A)C程序总是从main()函数开始执行。

B)C程序可以从程序中的任何函数开始执行。

C)C程序总是从第一个定义的函数开始执行。

D)C程序中的main()函数必须放在程序的开始部分。

6、关于C程序第1行的包含语句,以下写法中正确的是[正确答案:D]。

A)#include stdio.h B)#include'stdio.h'C)#include(stdio.h)D)#include<stdio.h>7、关于C语言程序,正确的编程流程应该是[正确答案:A]。

A)编辑→保存→编译→运行B)编译→编辑→运行→保存C)保存→运行→编辑→编译D)运行→编译→保存→编辑8、下列的哪个不是C语言的关键字[正确答案:D]。

A)while B)auto C)break D)printf9、下列的哪个不是C语言的算术运算符[正确答案:C]。

A)+B)%C)=D)-10、下列的哪个不是C语言的关系运算符[正确答案:C]。

A)>=B)<=C)=D)!=11、下列的哪个是错误的描述[正确答案:D]。

c语言编程基础习题答案

c语言编程基础习题答案

c语言编程基础习题答案《C语言编程基础(第2版)》习题答案前言《C语言编程基础(第2版)》每章后面都安排了一定数量的习题,这有利于读者理解、消化和掌握各单元的学习内容。

习题中,除了有填空题、选择题、回答问题等适合掌握基本概念的题型外,大部分是分析程序运行结果和要求编写实用程序,这有利于读者训练编程技巧和增强编程能力。

应广大读者要求,特别是一线教学老师的要求,我们给出全部习题答案,供读者参考。

编程答案只是实现题目算法要求的一种,并不一定是最好的。

希望读者自己多做思考,利用多种方法进行编程,用以提高自己的程序设计水平和锻炼自己的创新能力。

由于作者水平所限,错误和不当之处在所难免,恳请批评指正。

习题一1、填空题。

⑴ C语言程序由__函数__组成,其中必须有且只能有一个名为_main__的函数。

C程序的执行从___名为main的主__函数开始。

⑵每个C语句必须以__分__号结束。

⑶标识符只能由_英文字母_、__数字_和_下划线__三类符号构成,而且标识符的第一个字符必须是__英文字母__或__下划线__。

⑷关键字是指___C语言编译系统所固有的、具有专门意义的标识符___。

⑸ C程序中,注释的内容应放在__/*_和_*/__符号之间。

2、选择题。

⑴下面合法的C语言标识符是___ C ___。

⑵ C语言中主函数的个数是___ A______。

⑶以下有关注释的描述中,错误的是___ C ___。

⑷ C程序中,main函数的位置____ D___。

3、指出并改正下面程序中的错误。

⑴ main 应为 main()⑵应在本程序最后加上大括号 }。

⑶语句结束应有分号。

如:int a,b;a=1;b=2;printf("%d",a+b);4、分析下列程序,写出运行结果。

⑴该程序是计算两个整数a和b的乘积并赋值给c,运行结果为:c=30⑵该程序输出一个字符串和一排星号,运行结果为:Hello!*****************5、编程题。

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio。

h>void main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A)k=11,k=12,k=11 B) k=11,k=13,k=13C)k=11,k=013,k=0xb D)k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________。

A) ++t;B) n1=(n2=(n3=0));C)k=i=j;D)a=b+c=1;3、下面合法的C语言字符常量是__________。

A)’\t' B)"A" C) 65 D)A4、字符(char)型数据在微机内存中的存储形式是____。

A)反码B)补码C)EBCDIC码D)ASCII 码5、设int a=12,则执行完语句a+=a—=a*a后,a的值是________A)552 B) 264 C)144 D)-2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio。

h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B)20 C) 15 D) 107、下面程序的输出是__________。

#include〈stdio。

h〉void main(){int x=023;printf("%d\n",—-x);}A)17 B) 18 C)23 D)24 8、下面程序的输出是___________。

#include<stdio.h>void main(){char ch1,ch2;ch1='A’+'5'—'3’;ch2=’A'+'6'-’3';printf("%d,%c\n”,ch1,ch2);}A) 67,D B) B,C C)C,D D)不确定的值9、以下程序的输出结果是________。

c语言程序基础考试题及答案

c语言程序基础考试题及答案

c语言程序基础考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是______。

A. intB. charC. floatD. double答案:B2. 下列关于C语言函数的描述,正确的是______。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是结构体D. 函数可以没有返回值答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. &&D. ==答案:B4. 以下哪个选项是C语言中的合法整型常量?A. 0x1AB. 0.1C. 1.2e3D. 0123答案:A5. C语言中,以下哪个关键字用于声明一个函数?A. structB. intC. voidD. return答案:C6. 在C语言中,以下哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "helloD. 'hello'答案:A7. C语言中,以下哪个选项是正确的注释?A. // this is a commentB. /* this is a comment */C. // this is a commentD. /* this is a comment */答案:A8. C语言中,以下哪个选项是正确的二进制常量表示?A. 0b1010B. 0x2AC. 0101D. 0x10答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[] = {1, 2};D. int arr[3] = {1};答案:A10. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。

《C语言编程基础》习题答案

《C语言编程基础》习题答案

《C语言编程基础》习题答案C语言编程基础习题答案一、选择题1. 答案:B解析:选项A中的“;”是分号而不是逗号,选项C中漏写了int,选项D中多了一个等号。

2. 答案:C解析:sizeof()函数返回的是指定数据类型的大小,选项A和选项B 中给出的返回值是错误的,选项D中给出的是数组元素的个数。

3. 答案:D解析:在C语言中,0表示假,非0表示真。

4. 答案:A解析:scanf()函数用于从标准输入流中读取数据,并将数据赋值给指定的变量。

5. 答案:B解析:变量名是用来标识内存位置的,它是由字母、数字和下划线组成的,且必须以字母或下划线开头。

二、填空题1. 答案:int解析:函数返回值类型应该与函数定义中的返回值类型一致。

2. 答案:sum+=i;解析:表示将i的值累加到sum中。

3. 答案:float解析:num是一个浮点型变量。

4. 答案:while解析:while循环会循环执行一段代码,直到给定的条件不再满足时退出循环。

5. 答案:true解析:true是C语言中的关键字,表示真。

三、编程题1. 答案:```c#include <stdio.h>int main(){int n, i, sum = 0;printf("请输入一个整数:");scanf("%d", &n);for(i = 1; i <= n; i++){sum += i;}printf("1到%d的和为:%d\n", n, sum);return 0;}```解析:该程序计算了从1到n的整数之和。

2. 答案:```c#include <stdio.h>int main(){int num, i, is_prime = 1;printf("请输入一个整数:");scanf("%d", &num);for(i = 2; i < num; i++){if(num % i == 0){is_prime = 0;break;}}if(is_prime){printf("%d是一个素数\n", num); }else{printf("%d不是一个素数\n", num); }return 0;}```解析:该程序判断一个整数是否为素数。

《C语言程序设计基础》习题以及答案doc资料

《C语言程序设计基础》习题以及答案doc资料
}
三、编程题
1.请编写一个程序,能显示出以下两行文字。
I am a student.
I love China.
2.请编写一个程序,从键盘上输入a=2,b=3.4,c='D',向屏幕输出对应的a,b,c的值。
第三章
一、选择题
1-5DBABA
6-7DA
二、填空题
1.向终端输出一个字符从终端输入一个字符
9.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。
#include<stdio.h>
voidmain()
{
char x,y;
x='0'; y='9';
printf("%d,%c\n",x,y);
}
A)因输出格式不合法,输出错误信息B)48,9
C)0,9D)0,57
10.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。
A)\nB)\tC)\rD)\b
4.在ASCII码表中可以看到每个小写字母的ASCII码比相应的大写字母。
A)大32B)大64C)小32D)小64
5.设d为字符变量,下列表达式能够完整正确赋值的是。
A)d=297B)d='a'C)d="a"D)d='abc'
6.10+'a'+1.5-567.345/'b'的结果是型数据。
C)x * = y + 8;D)x = y = 0;
20.设有以下定义,则能使值为3的表达式是:。
int k=7, x=12;
A)x%=(k%=5)B)x%=(k-k%5)

c语言题库及详解答案百度文库

c语言题库及详解答案百度文库

c语言题库及详解答案百度文库C语言作为一门广泛应用的编程语言,其题库及详解答案在百度文库中有着丰富的资源。

以下内容将对C语言题库中的一些典型题目进行简要的介绍,并提供相应的详解答案。

1. 基础语法题- 题目:请写出一个C语言的Hello World程序。

- 解答:C语言中最基本的程序是打印"Hello World"。

以下是一个简单的示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量和数据类型题- 题目:如何声明一个整型变量并赋值?- 解答:在C语言中,声明一个整型变量并赋值可以通过以下方式实现:```cint number = 10;```3. 控制结构题- 题目:使用if语句判断一个数是否为正数。

- 解答:if语句用于条件判断,以下是一个示例代码:```cint num = 5;if (num > 0) {printf("%d is positive.\n", num);}```4. 循环结构题- 题目:使用for循环打印1到10的数字。

- 解答:for循环可以用于重复执行代码块。

以下是打印1到10的示例代码:```cfor (int i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");```5. 数组和字符串题- 题目:如何声明并初始化一个整型数组?- 解答:在C语言中,声明并初始化一个整型数组可以通过以下方式:```cint numbers[] = {1, 2, 3, 4, 5};```6. 函数题- 题目:编写一个函数,计算两个整数的和。

- 解答:函数是C语言中实现代码复用的一种方式。

以下是一个计算两个整数和的函数示例:```cint add(int a, int b) {return a + b;}```7. 指针题- 题目:使用指针交换两个变量的值。

c语言程序与设计基础知识试题及答案

c语言程序与设计基础知识试题及答案

c语言程序与设计基础知识试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 0.12ED. 12e答案:A3. 在C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. none of the above答案:D4. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B5. C语言中,用于文件操作的库函数是:A. stdio.hB. string.hC. math.hD. stdlib.h答案:A6. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储一个值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. 在C语言中,用于定义函数的关键字是:A. functionB. defineC. defD. void答案:D8. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D9. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. all of the above答案:D10. C语言中,用于定义枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个名为“person”的结构体,包含姓名和年龄两个成员,正确的定义方式是:struct person { char name[50];int age; }。

答案:正确2. 在C语言中,使用________函数可以输出格式化的字符串到控制台。

c语言编程基础题库及详解答案

c语言编程基础题库及详解答案

c语言编程基础题库及详解答案1. C语言是一种______语言。

A. 编译型B. 解释型C. 标记型D. 脚本型答案:A2. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B3. 在C语言中,整数类型int的范围是多少?A. -128到127B. -32768到32767C. -2147483648到2147483647D. 以上都不是答案:C4. 下列哪个是C语言中的控制语句?A. ifB. loopC. switchD. All of the above答案:D5. C语言中,以下哪个是正确的数组声明?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C6. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. int myFunction();D. Both A and C答案:D7. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. Both A and BD. None of the above答案:A8. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. *B. /C. %D. +答案:A9. C语言中,以下哪个是正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D10. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr[];C. Both A and BD. None of the above答案:A11. C语言中,以下哪个是正确的结构体声明?A. struct myStruct { int a; float b; };B. struct { int a; float b; };C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个是正确的枚举类型声明?A. enum Color { RED, GREEN, BLUE };B. enum { RED, GREEN, BLUE };C. Both A and BD. None of the above答案:C13. C语言中,以下哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. Both A and B答案:B14. 在C语言中,以下哪个函数用于计算两个数的最大公约数?A. max()B. gcd()C. min()D. Both A and C答案:B15. C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. All of the above答案:D16. 在C语言中,以下哪个是正确的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C17. C语言中,以下哪个是正确的位操作符?A. &B. |C. ^D. All of the above答案:D18. 在C语言中,以下哪个是正确的预处理指令?A. #includeB. #defineC. Both A and BD. None of the above答案:C19. C语言中,以下哪个是正确的递归函数调用?A. function();B. function(function());C. function(recursive);D. None of the above答案:B20. 在C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. define PI 3.14159C. Both A and BD. None of the above答案:A。

c语言基础试题及答案

c语言基础试题及答案

c语言基础试题及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 下列哪个选项是C语言中的合法整数常量?A. 0x12B. 0X12C. 0x1GD. 0x1g答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D二、填空题1. C语言中,用于定义一个变量的关键字是________。

答案:int2. C语言中,用于定义一个数组的语法是________。

答案:type arrayName[arraySize];3. C语言中,用于定义一个指针的语法是________。

答案:type *pointerName;4. C语言中,用于定义一个函数的语法是________。

答案:type functionName(parameters);5. C语言中,用于定义一个枚举的语法是________。

答案:enum enumName {elements};三、简答题1. 简述C语言中指针和数组的关系。

答案:在C语言中,指针和数组有密切的关系。

指针可以指向数组的元素,数组名可以作为指向数组首元素的指针。

通过指针可以访问和修改数组中的元素。

2. 描述C语言中函数的调用过程。

答案:在C语言中,函数调用过程包括:调用函数、传递参数、执行函数体、返回结果。

调用函数时,程序控制权转移到被调用函数,函数执行完毕后,返回到调用点继续执行。

四、编程题1. 编写一个C语言程序,实现计算两个整数的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

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\n", sum);return 0;}```2. 编写一个C程序,实现输入一个字符,判断它是大写字母、小写字母还是其他字符。

```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("这是一个大写字母。

\n");} else if (ch >= 'a' && ch <= 'z') {printf("这是一个小写字母。

\n");} else {printf("这不是字母。

\n");}return 0;}```3. 编写一个C程序,实现输入三个整数,找出最大值并输出。

```c#include <stdio.h>int main() {int a, b, c, max;printf("请输入三个整数:");scanf("%d %d %d", &a, &b, &c);max = a;if (b > max) max = b;if (c > max) max = c;printf("最大值是:%d\n", max);return 0;}```4. 编写一个C程序,实现输入一个整数,判断它是否为素数。

基础的c语言程序试题及答案

基础的c语言程序试题及答案

基础的c语言程序试题及答案基础的C语言程序试题及答案1. 题目:编写一个C语言程序,计算并输出1到100之间所有奇数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

答案:```c#include <stdio.h>int main() {double num1, num2;char operator;double result;printf("请输入第一个数字:");scanf("%lf", &num1);printf("请输入运算符(+,-,*,/):"); scanf(" %c", &operator);printf("请输入第二个数字:");scanf("%lf", &num2);switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {printf("除数不能为0\n");return 1;}break;default:printf("无效的运算符\n");return 1;}printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);return 0;}```3. 题目:编写一个C语言程序,实现字符串的反转。

C语言基础题及参考答案

C语言基础题及参考答案

第一单元程序设计和C语言选择题1.C语言的基本构成单位是:A。

A.函数B,函数和过程C.超文本过程D.子程序2.一个C语言程序总是从B开始执行。

A.主过程B.主函数C.子程序D.主程序3.C语言的程序一行写不下时,可以D。

A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.以下叙述不正确的是:C。

A.在C程序中,语句之间必须要用分号";"分隔B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C.在C程序中,无论是整数还是实数都能正确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是D。

A.ABCB.abcC.a_bcD.6.下列字符串是标识符的是:。

?A._HJB.9_studentC.longD.LINE17.以下说法中正确的是:C。

A.C语言程序总是从第一个定义的函数开始执行8.在C语言程序中,要调用的函数必须放在main()函数中定义1.C语言程序总是从main()函数开始执行2.C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是:B。

A.''2'B.""C.'3'D.''483'9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。

intk,a,b;unsignedlongw=5;doublex=;A.x%(-3)B.W+=-2C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以D形式存放。

A.原码B.BCD码C.反码D.ASCII码11.若有定义:inta=7;floatx=;y=;则表达式x+a%3*(int)(x+y)%2/4的值是:_A—。

A. B. C. D.12.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为:D。

C语言习题(前五章)参考答案

C语言习题(前五章)参考答案

C 语言习题参考答案第一部分 C 语言基础一、判断题1.对 2.错 3.对 4.对 5.错 6.错第二部分 数据类型、运算符及表达式一、选择题 1.AD 2.B 3.(1)CD (2)BD (3)C (4) B 5.B6.D /*赋值时,若有溢出,则只截取低位*/ 7.(1)AB (2)BD (3)ABCD 8.C 9.D10.C /*A,B 赋值运算符左值只能是变量,不能是表达式或常量,D 是逗号语句*/12.B /*赋值运算符优先级比逗号表达式高*/ 13.A14.D /*八进制数中,合格字符只能是0~7*/ 15.A /*二进制补码*/16.A /*八进制数中,合格字符只能是0~7*/ 17.D 19.B 20.D21.B /*赋值运算符右值的数据类型强制转换为左值的数据类型*/ 22.ABD 23.D 24.C 25.ABD 二、填空题1. 1 , -128~127 ; 2 , -32768~32767 ; 4 ,-2147483648~2147483647 ; 4 ,383810~10 。

3. 单引号, 双引号 。

4. 优先级 , 结合性 。

6. 2.5 。

7. 3.5 。

11. 24 , 10 , 60 , 0 , 12 , 0 12. double 。

14. 9 。

16. 1.5 , 1 。

18. 2 , -2 。

/*余数符号仅由被除数的符号决定*/ 三、判断题1.错 /*如常量*/3.错 /*如float 只能准确表示7位有效数字,多余的位数是近似表示*/4.错5.对6.对 10.错 四、简答题4写出下列各数的二进制补码(写成16为二进制形式):32: 0000 0000 0010 0000 -1: 1111 1111 1111 1111 -32768:1000 0000 0000 0000 2002: 0000 0111 1101 0010 -128: 1111 1111 1000 0000 0: 0000 0000 0000 0000 五、程序阅读 1.aabb[4个空格]cc[6个空格]c A 6 2.9,11,9,10第三部分 顺序结构一、选择题 2.D3.B /*假设int 占2个字节*/4.D5.C 7.C 8.B 9.D 10.B11.C /*D ,scanf 函数的格式符中不能规定小数位数*/ 12.A /*格式控制符:%2d%2d%3d,输入时,前两个空格对应的数字赋给a ,紧挨着的两个空格的位置赋给b*/ 13.C 14.D 15.D 二、填空题 6. %8. -10 12 410.34[回车] 题目补充:scanf 函数的调用形式为:scanf(“%d%d%f ”,&i,&j,&x); 。

101道C语言编程题参考答案

101道C语言编程题参考答案
else if (x>=1.0&&x<10.0)
printf("%.2f",2*x-1);
else
printf("%.2f",3*x-11);
}
1074 这个月有多少天? 54%(290/542) 46% 03分支结构
22.#include <stdio.h>
2.#include<stdio.h>
int main()
{
printf("hello world!");
return 0;
}
1004 两个整数的值互换 43%(530/1235) 58% 01C语言基础
3.#include <stdio.h>
int main()
{
int a,b,t;
11.#include<stdio.h>
main()
{
char n;
int x;
scanf("%c",&n);
x='a'-'A';
printf("%d %c",n,n-x);
}
1071 保留两位小数 72%(335/467) 29% 02顺序结构
12.#include "stdio.h"
case 'E':printf("14");break;
case 'F':printf("15");break;
}
}
1008 求华氏温度所对应的摄氏温度 73%(407/556) 27% 02顺序结构

c语言入门经典习题答案

c语言入门经典习题答案

c语言入门经典习题答案C语言作为一门经典的编程语言,广泛应用于软件开发、系统编程等领域。

对于初学者来说,通过解决一些经典的C语言习题,可以加深对C 语言语法和编程思想的理解。

以下是一些C语言入门习题及其答案,供学习者参考。

1. 打印“Hello, World!”```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 计算两个整数的和```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}```3. 判断一个数是否为素数```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) { if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num); }return 0;}```4. 计算圆的面积```c#include <stdio.h>#include <math.h>int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = M_PI * radius * radius;printf("圆的面积是:%.2f\n", area); return 0;}```5. 求一个数的阶乘```c#include <stdio.h>int factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num, fact;printf("请输入一个整数:");scanf("%d", &num);fact = factorial(num);printf("%d 的阶乘是:%d\n", num, fact);return 0;}```6. 打印九九乘法表```c#include <stdio.h>int main() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {printf("%d*%d=%d\t", j, i, i * j); }printf("\n");}return 0;}```7. 字符串反转```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```8. 计算数组的平均值```c#include <stdio.h>int main() {int arr[5] = {10, 20, 30, 40, 50};float sum = 0, avg;for (int i = 0; i < 5; i++) {sum += arr[i];}avg = (float)sum / 5;printf("数组的平均值是:%.2f\n", avg);return 0;}```这些习题覆盖了C语言的基础知识点,包括基本的输入输出、条件判断、循环、函数、数组等。

c语言基础练习题及答案

c语言基础练习题及答案

c语言基础练习题及答案c语言基础练习题及答案一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。

A、”.c”B、“.obj”C、“.exe”D、“.bas”2. 以下选项中不正确的整型常量是_C____。

A、12LB、-10C、1,900D、123U3. 表达式___C___的值是0。

A、3%5B、3/5.0C、3/5D、3<54. 表达式!(x>0||y>0) 等价于__D___。

A、!x>0||!y>0B、!(x>0)||!(y>0)C、!x>0&&!y>0D、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D____不符合C语言语法。

A、4&&3B、+aC、a=b=5D、int(3.14)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3);时,___B___是正确的输入。

A、2030,40B、20 30 40C、20, 30 40D、20, 30,407. 执行语句printf(”__D____”, 2); 将得到出错信息。

A、%dB、%oC、%xD、%f8. 设变量定义为“int s[ ]=hello\nworld\n;”,则数组s中有__B____个元素。

A、12B、13C、14D、159. 设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___B__。

A、2B、3C、4D、&a[0]+110. 若变量已正确定义并赋值,表达式-k++ 等价于__A____。

A、-(k++)B、(-k)++C、-(k+1)D、-(++k)11. 在C 语言程序中,在函数内部定义的变量称为__D____。

A、全局变量B、全程变量C、外部变量D、内部变量12. 若x是整型变量,表达式(x=10.0/4.0) 的值是__D___ 。

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程练习题及参考答案1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>main(){ 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);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f”,&r);if (r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。

main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;prin tf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。

main( ){int a,b,c,d,t;scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}pri ntf (“m in = %d \n”,a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

c语言考试试题基础版及答案

c语言考试试题基础版及答案

c语言考试试题基础版及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int_答案:A2. C语言中,用于定义一个字符型变量的关键字是?A. charB. characterC. stringD. var答案:A3. 在C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. =答案:A4. 下列哪个选项不是C语言中的控制结构?A. ifB. forC. whileD. switch答案:D5. 在C语言中,下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B6. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array[];D. int array=10;答案:A7. 下列哪个选项是C语言中的正确注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释答案:A8. 在C语言中,用于定义一个函数的关键字是?A. functionB. defC. defineD. void答案:D9. 下列哪个选项是C语言中的正确字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. Hello, World!答案:A10. 在C语言中,用于声明一个无返回值的函数的关键字是?A. intB. voidC. charD. float答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:int ____________; 答案:变量名2. 用于计算两个整数之和的C语言运算符是:__________;答案:+3. 如果要在C语言中声明一个名为“result”的浮点型变量,应使用:float ____________;答案:result4. 在C语言中,用于定义一个二维数组的语法是:int____________[3];答案:数组名5. C语言中,用于声明一个指向整型变量的指针的语法是:int*____________答案:指针名6. 使用C语言中的printf函数输出字符串时,需要在字符串前加上的字符是:__________;答案:"7. 在C语言中,用于从键盘读取一个字符的函数是:__________;答案:getchar()8. 如果要声明一个名为“total”的整型变量并初始化为0,应使用:int total = __________;答案:09. 在C语言中,用于定义一个静态局部变量的关键字是:__________; 答案:static10. C语言中,用于计算两个浮点数之差的运算符是:__________;答案:-三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

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

《C语言编程基础(第2版)》习题答案前言《C语言编程基础(第2版)》每章后面都安排了一定数量的习题,这有利于读者理解、消化和掌握各单元的学习内容。

习题中,除了有填空题、选择题、回答问题等适合掌握基本概念的题型外,大部分是分析程序运行结果和要求编写实用程序,这有利于读者训练编程技巧和增强编程能力。

应广大读者要求,特别是一线教学老师的要求,我们给出全部习题答案,供读者参考。

编程答案只是实现题目算法要求的一种,并不一定是最好的。

希望读者自己多做思考,利用多种方法进行编程,用以提高自己的程序设计水平和锻炼自己的创新能力。

由于作者水平所限,错误和不当之处在所难免,恳请批评指正。

习题一1、填空题。

⑴ C语言程序由__函数__组成,其中必须有且只能有一个名为_main__的函数。

C程序的执行从___名为main的主__函数开始。

⑵每个C语句必须以__分__号结束。

⑶标识符只能由_英文字母_、__数字_和_下划线__三类符号构成,而且标识符的第一个字符必须是__英文字母__或__下划线__。

⑷关键字是指___C语言编译系统所固有的、具有专门意义的标识符___。

⑸ C程序中,注释的内容应放在__/*_和_*/__符号之间。

2、选择题。

⑴下面合法的C语言标识符是___ C ___。

⑵ C语言中主函数的个数是___ A______。

⑶以下有关注释的描述中,错误的是___ C ___。

⑷ C程序中,main函数的位置____ D___。

3、指出并改正下面程序中的错误。

⑴ main 应为 main()⑵应在本程序最后加上大括号 }。

⑶语句结束应有分号。

如:int a,b;a=1;b=2;printf(%d,a+b);、分析下列程序,写出运行结果。

4.⑴该程序是计算两个整数a和b的乘积并赋值给c,运行结果为:c=30⑵该程序输出一个字符串和一排星号,运行结果为:Hello!*****************5、编程题。

⑴按题目要求,编写输出固定信息的程序如下:main(){pt();printf( Welcome!);pt();}pt(){printf(*****************);}⑵按题目要求,编写输入数据输出其表达式的程序如下:main(){int a,b,c;scanf(%d,&a);scanf(%d,&b);c=a*b+10;printf(c=%d,c);}习题二1、单项选择题。

⑴ C语言中的变量名只能由字母、数字和下划线组成,且第一个字符_C _。

⑵合法的常量是__ D ___。

⑶ C语言中的基本数据类型所占存储空间长度的顺序是__ D___。

⑷下列符号串中与123.0相同的合法常量是__ C___。

2、填空。

⑴ C语言中的基本数据类型包括____整型(int)_、____浮点型(flot)__和_字符型(char)_三种。

⑵整型常数有_十进制整数_、_八进制整数_和_十六进制整数_三种表示形式; 整型变量可分为四类: _一般整型(int)_、_短整型(short)_、_长整型(long)_、_无符号型_。

其中_无符号型_又可分为_无符号整型(unsigned int)、_无符号短整型(unsigned short)和_无符号长整型(unsigned long)_3种。

⑶有10个用指数形式表示的符点常数:请指出合法的有___③④⑥⑧⑩___。

⑷在C中,没有专为存贮字符串的变量,但可以用__字符型数组__ 或__字符型指针变量_存贮字符串。

其定义格式为_ char str[6];_和_ char *a;_。

⑸数据类型混合运算时, 要进行同型转换, 转换方式分为__自动转换(隐式转换)__和__强制转换(显式转换)__两种。

3、写出下列程序运行结果。

⑴ 215/9=23 (8)⑵ 97 b⑶ 4.0000004、编写程序。

⑴按题目要求编写求三个已知数的乘积,程序如下:main(){int a,b,c;a=19;b=22;c=650;printf(a*b*c=%d\n,a*b*c);}⑵按题目要求,编写将值整数化后赋值的程序如下:main(){int a1,a2;float b,c;b=35.425;c=52.954;a1=(int)(b*c);a2=(int)c%(int)b;printf(a1=%d;a2=%d\n,a1,a2);}⑶按题目要求,编写计算圆周长、面积和圆柱体积的程序如下:main(){int r,h,c,s,v;r=15;h=3;c=2*3.14*15; s=3.14*r*r; v=s*h;printf(c=%d, s=%d , v=%d\n,c,s,v);}习题三1、填空题。

⑴设有int x=11;则表达式(x++*1/3)的值是_____3____。

⑵已知数学表达式y=x2-2x+5,写出对应的C语言表达式_y=x*x-2*x+5_。

⑶已知a=10,则表达式x=(a=a+b,a-b)的值为__x=10__。

2、选择题。

⑴在C语言中,下列运算符的操作数必须是int类型的运算符是(D)。

⑵假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为(A)。

⑶已定义int m=6,n=5;,则执行m%=n-1;之后,m的值是(B)。

⑷已有int a=1,b=1;则执行b=(a=2*3,a*5),a+7之后,a,b的值是(B)。

⑸已有int x=2,y=1;则执行x++==y--;的结果是(D)。

3、求下面算术表达式的值。

⑴ 2.500000⑵ 3.5000004、分析下列程序,写出运行结果。

⑴注意,在C语言中,因为函数调用中参数按从右到左的顺序求值,因此该程序执行打印输出的结果为:3 1 1⑵该程序在计算条件表达式的值赋给a时,其x值已为6,y值已为7,因此运行结果为:a=7,b=0,c=6⑶该程序利用运算符与结合性的优先级不同,而取得a与b的值。

(因为该题使用了逻辑运算符,可在学了第5章以后再详细分析)运行结果如下:a=2,b=1⑷该程序应用复合的赋值运算符和从右至左结合性的运算规则,求取n的值,运行结果如下:n=28⑸该程序在执行语句“y=x++-1;”时,y为0而x在执行后变为2;在执行语句“z=--y+1;”时,z为0而y便成了-1。

运行结果如下:x=2,y=-1,z=05、编程题。

⑴用符号常量编写简单计算程序如下(复杂应用应在第9章学习后再做):#define N 12#define M 25main(){float c;printf(N+M=%d\n,N+M);printf(N-M=%d\n,N-M);printf(N*M=%d\n,N*M);c=(float)N/M;printf(N/M=%f\n,c);}⑵查看i++与++j运算结果差异的程序,编写如下:main(){int i=20,j=20;printf(i++:%d\n++j:%d\n,i++,++j);}⑶查看m--与--n运算结果差异的程序,编写如下:main(){int m=20,n=20;printf(m--:%d\n--n:%d\n,m--,--n);}习题四1、单项选择题。

⑴下列叙述不正确的是__B__。

⑵当输入数据为12345678时,下面程序运行的结果是__C___。

⑶ putchar函数可以向终端输出一个__D___。

⑷按格式输出的格式符__ C__。

、回答问题。

2.⑴在键盘上输入数据格式如下:12,24,Aa□2.58□-2.58□1□68.5↙(□代表空格,其中数据1是为了对付%*f占位,↙代表回车)⑵该题是求输入任意两个整数a与b的和。

若读入a=b=5,其运行结果为: type a number please!a=?5↙type another please!b=?5↙a sumb is 103、写出下列程序的执行结果。

⑴执行结果:32767,-327682147483647,-214748364865535,0⑵执行结果:yes,I am computer.⑶执行结果:a\b'□□□□□tw123⑷执行结果:58.887299,555.67797958.887299□□□,555.677979□□58.887, □555.678,58.887,555.678,58.887299,555.677979 5.88873e+01, □□□5.6e+02B,66,102,427567890,34675022,7a1211232,25740,2be0,11232COMPUTER, □□ABC4、编写程序。

⑴对输入的大写字母改用小写输出的程序,编写如下:#include <stdio.h>main(){char c;牰湩晴尨输入一个大写字母:\n);c=getchar();putchar(c+32);}⑵计算三门课总成绩等数据的程序,编写如下:#include <math.h>main(){float a,b,c,sum,ave,mod;牰湩晴尨输入三门课程的成绩:\n);scanf(%f%f%f,&a,&b,&c);sum=a+b+c;ave=(a+b+c)/3;mod=fmod(sum,3);牰湩晴尨总成绩=%5.1f,平均成绩=%5.1f,总成绩除3的余值=%3.1f\n,sum,ave,mod);}⑶已知数据,按输出结果的要求编写输出程序如下:main(){int a=1,b=2,c=3,g=12345;float d=7.2,e=-5.5,f=1.56;long h=123456;char i='o',j='p';printf(a=%d b=%d c=%d\n,a,b,c);printf(d=%f,e=%f,f=%f\n,d,e,f);printf(d+e=%4.2f e+f=%4.2f d+f=%5.3f\n,d+e,e+f,d+f); printf(g=} h=%ld\n,g,h);printf(i=%c or %d\nj=%c or %d\n,i,i,j,j);}习题五1、单项选择题。

⑴ C语言用__C__表示逻辑量为“假”⑵要求当A的值为奇数时,表达式的值为“真”;A的值为偶数时,表达式的值为“假”。

以下不满足要求的表达式是__D__。

⑶在if语句的嵌套中,else总是与__C__配对。

⑷下面对for循环概念描述正确的是__D__。

2、填空题。

⑴ switch后面的“表达式”,通常为_整_型或_字符_型表达式;每个case的常量表达式的值__不能相同__。

⑵如果不算goto语句构成的循环结构,那么C语言可以构建循环的语句一共有_3_种,分别是__for循环、while循环、do-while循环__。

相关文档
最新文档