C语言程序设计习题库答案
《C语言程序设计》练习题及答案
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
(完整版)C语言程序设计题库及答案,推荐文档
A.552 B.264 C.144 D.-264 30 . int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。
A.2,2 B.2,3 C.3,2 D.3,3
判断题(共 5 题,每题 2 分) 1 . 只能在循环体内和 switch 语句体内使用 break 语句。(对) 2 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。(对) 3 . C 语言中,每个程序都必须要有一个且只有一个 main 函数。(对) 4 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。(对)
5 . 表达式 16/8*sqrt(4.0)/2 值的数据类型为 double 双精度实型。(对)
第二套试题
单选题(共 20 题,每题 4 分) 1 . 若有输入语句 scanf( %d%d%d,&x,&y,&z);则不能使 x 值为 5,y 值为 6,z 值为 7 的输入是___A___。
A.5,6 ,7
A.5,6 ,7
B.5 回车换行 6 7 C.5 6 7
D.5,6,7
12 . 若 i,j 已定义为 int 类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A.12
B.15
C.16
13 . 下列选项中,合法的 C 语言关键字是_D___。
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。
C程序设计题库(含答案)
else y = 1.0;
printf("%f\n",y);
}
A.0.000000B.0.250000C.0.500000D.1.000000
(3)下列程序的运行结果是( )
#include <stdio.h>
void main()
{
int a = 2, b = -1, c = 2;
答案:B
4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A、6.500000 B、6 C、5.500000 D、6.000000
5、以下的选择中,正确的赋值语句是()。
A) a=1,b=2 B) j++ C) a=b=5; D) y=int(x)
A) 10<回车>B) 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C) 10.0<回车> D) 10 22<回车>
22.0 33.0<回车> 33<回车>
答案:B
2.三大结构
(1)下列程序的运行结果是()
#include <stdio.h>
void main()
{
char c1 = '6', c2 = '0';
B.形参可以是常量,变量或表达式
C.实参可以为任意类型
D.如果形参和实参的类型不一致,以形参类型为准
9.C语言规定,函数返回值的类型是由( )决定的。
A. return语句中的表达式类型
(完整版)C语言程序设计练习题(含程序及参考答案)
(完整版)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语言程序设计习题参考答案
C语言程序设计习题参考答案习题 1一、判断题1.在计算机中,小数点和正负号都有专用部件来保存和表示。
2.二进制是由0和1两个数字组成的进制方式。
3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。
4.在整数的二进制表示方法中,0的原码、反码都有两种形式。
5.有符号数有三种表示法:原码、反码和补码。
6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。
解:1.F 2.T 3.T 4.T 5.T 6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是。
A. 原码B. 反码C. 补码D. 移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。
A. 112B. 120C. 121D. 1223.关于ASCII码,在计算机中的表示方法准确地描述是。
A. 使用8位二进制数,最右边一位为1B. 使用8位二进制数,最左边一位为1C. 使用8位二进制数,最右边一位为0D. 使用8位二进制数,最左边一位为04.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。
A. X∧Y=1000B. X∨Y=1111C. X⊕Y=0011D. ¯Y=10005.下列叙述中正确的是()。
A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。
A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。
A.main函数在C程序中必须有且只有一个B. C程序的执行从main函数开始,所以main函数必须放在程序最前面C. 函数可以带参数,也可以不带参数。
c语言程序设计课后习题及答案
c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。
课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。
习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。
```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。
```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。
c语言程序设计考试题库及答案
c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2.2 C语言中,用于输入数据的库函数是______。
答案:scanf2.3 C语言中,用于输出数据的库函数是______。
答案:printf3. 简答题3.1 简述C语言中数组的定义方式。
答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。
例如,定义一个整型数组可以写作:int arrayName[arraySize];。
3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
定义指针的示例:int *ptr; 这里ptr是一个整型指针。
4. 编程题4.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\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。
答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。
C语言程序设计题库及答案
第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。
C语言程序设计习题(含答案)
C语言程序设计习题(含答案) C语言程序设计习题(含答案)C语言是一种常用的编程语言,被广泛应用于计算机科学和软件开发领域。
为了帮助学习者更好地掌握C语言的编程技巧,本文提供一些常见的C语言程序设计习题及其答案。
通过完成这些习题,学习者可以锻炼编程思维,加深对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;}```习题二:计算圆的周长和面积题目描述:编写一个程序,根据用户输入的半径,计算圆的周长和面积,并输出结果。
解答:```C#include <stdio.h>#define PI 3.14159int main() {double radius, circumference, area;printf("请输入圆的半径:");scanf("%lf", &radius);circumference = 2 * PI * radius;area = PI * radius * radius;printf("圆的周长为:%lf\n", circumference);printf("圆的面积为:%lf\n", area);return 0;}```习题三:判断一个数是否为素数题目描述:编写一个程序,判断用户输入的一个正整数是否为素数。
解答:```C#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) {if (num % 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;}```习题四:计算两个矩阵的乘积题目描述:编写一个程序,计算两个3x3的矩阵的乘积并输出结果。
c语言程序设计试题及答案
c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。
C语言程序设计习题集及解答
目录第一章C语言基础知识 (1)第二章C语言程序设计的初步知识 (2)第二章答案 (25)第三章顺序结构程序设计 (3)第四章选择结构程序设计 (4)第五章循环结构程序设计 (6)第六章数组 (7)第六章答案 (26)第七章函数 (9)第七章答案 (27)第八章指针 (12)第八章答案 (28)第九章结构体与共用体 (14)第九章答案 (28)第十章文件 (16)第十章答案 (29)模拟试题 (17)模拟试题答案 (25)第一章C语言基础知识考点:1.C语言的特点。
2.C语言的基本结构、字符集、标识符、关键字。
3.算法的概念和描述方法。
一、选择题1. A 是C程序的基本构成单位。
A)函数B) 函数和过程C) 超文本过程D) 子程序2.下列说法正确的是 C 。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对3.下列说法正确的是C。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号4.下列标识符正确的是C。
A)x+y123 B)4_student C)a456 D)U.S5.以下说法正确的是C。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分6.B不是C语言提供的合法关键字。
A)char B)scanf C)case D)default7.C语言提供的合法关键字是C。
A)ELSE B)INT C)case D)printf8. 一个C语言程序是由B。
A)一个主程序和若干个子程序组成;B)函数组成, 并且每一个C程序必须且只能由一个主函数;C)若干过程组成;D)若干子程序组成.9. 以下叙述中错误的是(C )A.C语言是一种结构化程序设计语言。
(完整版)C语言程序设计习题集及答案
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。
2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。
3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。
4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。
5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。
C语言程序设计习题参考答案
C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么?算法具有哪些特点?答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。
4. 有哪三种基本结构?答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S 流程图最大的区别是什么?答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、N-S 图分别表示求解以下问题的算法。
1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax 2+bx+c=0的根。
分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。
四、注释下面C 程序的各个组成部分。
main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDD3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。
计算机c语言程序设计考试题及答案
计算机c语言程序设计考试题及答案一、选择题1. 下列选项中,哪一个是C语言的关键字?a) mainb) inputc) ifd) print答案:c) if2. C语言中用于定义整型变量的关键字是:a) intb) charc) floatd) double答案:a) int3. 在C语言中,以下字符常量的定义方式错误的是:a) 'A'b) '\n'c) 'AB'd) '\t'答案:c) 'AB'4. 下面哪个运算符优先级最低?a) +b) =c) *d) /答案:b) =5. 在C语言中,执行循环操作的语句是:a) forb) whilec) ifd) switch答案:b) while二、填空题1. 在C语言中,输出字符常量的函数是_______。
答案:printf2. 以下是定义数组的正确方式:int numbers[10];答案:int numbers[10];3. 在C语言中,用于判断条件是否成立的关键字是_______。
答案:if4. 以下是C语言中声明一个指针变量的方式:int *ptr;答案:int *ptr;5. 在C语言中,用于输入整型变量的函数是_______。
答案:scanf三、编程题请编写一个C语言程序,计算输入的两个整数相加的结果并输出。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```四、解答题1. 请解释C语言中的指针概念以及指针与变量的关系。
c语言程序设计及答案
一、选择题(1~40题每题1分,41~50题每题2分,共60分)以下各题A、B、C、D四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.微型运算机的运算器、操纵器及内存储器组合在一路,称之为()(此题分值:1分)【正确答案】DD.主机2.以下存储器中,存取速度最快的是()(此题分值:1分)【正确答案】DA.软盘B.硬盘C.光盘D.内存3.系统软件中最重要的是()(此题分值:1分)【正确答案】AA.操作系统B.语言处置程序C.工具软件D.数据库治理系统4、CPU处置的数据大体单位为字,一个字的字长()(此题分值:1分)【正确答案】DA.为8个二进制位B.为16个二进制位C.为32个二进制位D.与CPU芯片的型号有关5.打印当前屏幕内容应利用的操纵键是()(此题分值:1分)【正确答案】D(Print Screen)6.能将高级语言源程序转换成目标程序的是()(此题分值:1分)【正确答案】CA.调试程序B.说明程序C.编译程序D.编辑程序7.二进制数转换成十进制数是()(此题分值:1分)【正确答案】B8.十六进制数转换成十进制数是()(此题分值:1分)【正确答案】A9.中国国家运算机网络设施是()(此题分值:1分)【正确答案】A10.操纵键^C的功能为()(此题分值:1分)【正确答案】AA.终止当前操作B.系统复位C.暂停标准输出设备的输出D.终止命令行为命令处置程序,DOS系统启动后,它()(此题分值:1分)【正确答案】BA.驻留在外存,需要时装入内存B.常驻内存,包括所有内部命令C.不能处置外部命令D.不能处置后缀为.EXE的可执行文件12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应利用命令()(此题分值:1分)【正确答案】C*.PAS .?ASPAS P*.PAS *.P*.PAS *.P??13.设当前盘中文件的途径为\A\B\XU,当前目录为\A\B。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。
3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。
4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。
6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。
函数可以没有返回值,此时函数类型为 void 。
7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。
8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
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 factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num)); return 0;}```3. 编写一个C语言程序,实现判断一个数是否为素数。
答案:```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 是素数。
《C语言程序设计教程》习题参考答案
《C语言程序设计教程》习题参考答案C语言程序设计教程习题参考答案一、基本概念和语法要点1. 整型变量x的声明和初始化语句为:int x = 10;2. C语言的标识符命名规则:- 只能由字母、数字和下划线组成;- 必须以字母或下划线开头;- 大小写敏感。
3. 常量的分类:- 整型常量;- 实型常量;- 字符常量;- 字符串常量;- 枚举常量;- 特殊常量。
4. 基本输入输出函数的使用:- printf():输出格式化字符串;- scanf():从标准输入读取格式化数据。
5. C语言中的运算符:- 算术运算符:+、-、*、/、%;- 关系运算符:==、!=、>、<、>=、<=; - 逻辑运算符:&&、||、!;- 位运算符:&、|、^、~、<<、>>。
二、流程控制语句1. if语句的基本结构:```if (条件表达式){// 如果条件成立执行的代码}```2. switch语句的使用:```switch (表达式)case 值1:// 执行的代码块break;case 值2:// 执行的代码块break;default:// 执行的代码块break;}```3. while循环语句的基本结构: ```while (条件表达式){// 循环执行的代码}4. for循环语句的使用:```for (初始化表达式; 条件表达式; 更新表达式) {// 循环执行的代码}```三、数组与字符串1. 数组的声明和初始化语句:```int arr[5] = {1, 2, 3, 4, 5};```2. 字符串的声明和初始化语句:```char str[20] = "Hello, World!";```3. 字符串的输入输出函数:- gets():从标准输入读取字符串; - puts():将字符串输出到标准输出。
4. 字符串处理函数:- strlen():计算字符串长度;- strcat():拼接字符串;- strcpy():复制字符串;- strcmp():比较两个字符串。
C语言程序设计》课后习题详细答案
《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]10000000000000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(x<1) y=x;
else if(x>=1 && x<10) y=2*x-1;
else y=3*x-11;
printf("%d",y); },y); } }
4、给定一个不多于 5 位的正整数,要求:①
例如原数为 321,应输出 123。
#include <>
main(){
long int num,m=0;
10 次
13、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一 个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下 的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
#include <> #define N 10 main(){ int i=1,sum=1; while(i++<N)
if(m%i==0&&n%i==0) s=i; }
if(m>=n)j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); printf("s=%ld,j=%ld\n",s,j); } #include <> main(){
int a,b,k,temp,i,p; scanf("%d,%d",&a,&b); if(a>b)
x=(x1+x2)/2; y=f(x); if(y<0) x1=x; else x2=x; }while(fabs(y)>1e-6); printf("x=%g\n",x); } 17、以下程序的功能是:输入一个百分制成绩,输出一个五级制成绩等级。例如 输出 C 。请完成填空 #include<>
输入 75,
x0=x1;
x1=__(x0+a/x0)/2__;
} while(__x1>1e-5__);
printf("%g\n",x1);
} 15、用牛顿迭代法求方程
#include <>
2 x3 4x 2 3x 6 0 在附近的根。
#include __<>__
#define f(x) 2*x*x*x-4*x*x+3*x-6
{ y=x;} else if(x>=1 && x<10)
{ y=2*x-1;} else
{ y=3*x-11;} printf("%d\n",y); }# include "" main() { int x,y; scanf("%d",&x); if(x<1)
{ y=x;} else if(x>=1 && x<10)
} 18、该程序功能:对 x=1,2,...,10 ,求 f(x)=x*x-5*x+sin(x) 的最大值。
#include <> #include <> #define f(x) x*x-5*x+sin(x) void main(){
int x; float max; __max=f(1)__; for(x=2;x<=10;x++) __if(max<f(x)) max=f(x)__; printf("%f\n",max);
main(){
int x,y,z,t=0;
求它是几位数;②按逆序打印出各位数字。
scanf("%d %d %d",&x,&y,&z); if(x>y) {t=y;y=x;x=t;} if(x>z) {t=z;z=x;x=t;} if(y>z) {t=z;z=y;y=t;} printf("%d\n",z); } 6、输入两个正整数 m和 n,求其最大公约数和最小公倍数。 /* 枚举法 */ #include<> main(){ long m,n,i=1,j,s; scanf("%ld,%ld",&m,&n); for(;i<=m&&i<=n;i++){
} else if (____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 ""
int i=0;
scanf("%ld",&num);
while(num>0){
i++; /*
统计长度 */
m=m*10+num%10;
num =num/10;
}
printf(" 数字长度为: %d",i); printf(" 逆序数字为: %d\n",m);
}
5、以下程序实现的功能:求三个数的最大值
2x 1 1 x 10 写一程序,输入
3x 11 x 10
x 值,输出 y 值。
#include <>
main(){
int x,y;
printf(" 输入 x: ");
scanf("%d",&x);
if(x<1) {
/* x<1 */
y=x;
printf("x=%3d, y=x=%d\n",x,y);
C 语言程序设计 ( 第三版 ) 习题库
1、设圆半径 r= ,圆柱高 h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用
scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。
#include <>
main(){
float r,h,C1,Sa,Sb,Va,Vb;
#include<>
main(){
int a,b,c,max;
scanf("%d %d %d",&a,&b,&c);
if(a>b){
if(a>c) max=a;
else max=c;
} else{
if(b>c)
max=b;
else
max=c;
}
printf("max= %d",max);
}
#include <>
fabs/ printf("pi=%f",__4*sum__); }
11、有一分数序列: 2/1,3/2,5/3, #include<> #define N 20 main(){ int i=1; double x=1,y=2, sum=0; while(__i<=20__) { sum=sum+__y/x__; y = ___x+y__; x = __y-x__; i++; } printf("%f\n",sum); }
temp=b; else
temp=a; for(i=2;i<=temp;i++) { if(a%i==0 && b%i==0)
k=i; } printf("%d\n",k); p=a*b/k; printf("%d\n",p);
}
/* 辗转相除 */ #include<> main(){
int m,n,k,j,p,r=1; scanf("%d,%d",&m,&n); k= m>n?m:n; j= m>n? n:m; do{
} 19、程序功能:输入整数 a 和 b 的值,若 a2+b2 大于 100,则输出 a2+b2 百位以上的数字,否 则输出两数之和。
#include<> main(){ int a,b,s;
scanf("%d%d",&a,&b); s=__a*a+b*b__; if(s>100) printf("%d",__s/100__); else printf("%d",___a+b__); } 20、有 1020 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,以下程序统计 卖完所需的天数。 #include <> main(){ int day,x1,x2; day=0;x1=1020; while(__x1>0__){ x2=__x1/2-2__; x1=x2; day++} printf( “ day=%d” ,day); }
i++; 数求 的值,直到最后一项的绝对值小于 10-6 为止。求绝对值的函数为 #__include<>__ #include<> main(){ int i=1,flag=1; double sum=,s; do{ s=(2*i-1)__; sum+=s*flag; i++; __flag=-flag__;
r=k%j; k=j;
j=r; }while(r!=0); printf("%d,%d",k,m*n/k); }