_《C语言》机试题(成-部分答案)

合集下载

c语言知识试题及答案

c语言知识试题及答案

c语言知识试题及答案1. 介绍C语言是一门广泛应用于计算机科学领域的编程语言。

熟练掌握C 语言知识对于计算机程序员来说非常重要。

以下是一些常见的C语言试题及答案,希望能够帮助你提高对C语言的理解和掌握。

2. 基础知识试题1:什么是C语言?答案:C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie 在20世纪70年代初开发的。

它具有高效性、可移植性和灵活性等特点。

试题2:列举一些C语言的数据类型。

答案:C语言的数据类型包括整型、浮点型、字符型、指针型、数组、结构体等。

3. 语法与表达式试题3:如何定义一个整型变量x并将其初始化为10?答案:可以使用以下语句来完成:```cint x = 10;```试题4:如何使用printf函数输出一个字符串?答案:可以使用以下语句来完成:```cprintf("Hello, World!");```4. 控制流与循环试题5:如何使用if语句判断一个数是正数、负数还是零?答案:可以使用以下代码来实现:```cint num;printf("请输入一个数:");scanf("%d", &num);if (num > 0) {printf("这是一个正数");} else if (num < 0) {printf("这是一个负数");} else {printf("这是零");}```试题6:如何使用for循环输出1到10之间的所有偶数?答案:可以使用以下代码来实现:```cfor (int i = 1; i <= 10; i++) {if (i % 2 == 0) {printf("%d ", i);}}```5. 函数与模块化试题7:如何定义一个函数来计算两个整数的和?答案:可以使用以下代码来定义一个函数:```cint sum(int a, int b) {return a + b;}// 在主函数中调用该函数int result = sum(3, 5);```试题8:如何使用递归函数来计算一个数的阶乘?答案:可以使用以下代码来实现:```cint factorial(int n) {if (n == 0) {return 1;} else {return n * factorial(n-1);}}// 在主函数中调用该函数int result = factorial(5);```6. 数组与字符串试题9:如何定义一个整型数组,并计算数组中所有元素的和?答案:可以使用以下代码来完成:```cint arr[] = {1, 2, 3, 4, 5};int sum = 0;for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {sum += arr[i];}printf("数组元素的和为:%d", sum);```试题10:如何使用strcpy函数将一个字符串复制给另一个字符串?答案:可以使用以下代码来实现:```c#include <string.h>char str1[20] = "Hello";char str2[20];strcpy(str2, str1);printf("复制后的字符串为:%s", str2);```7. 指针与动态内存分配试题11:什么是指针,并解释指针和变量之间的区别。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案1. 以下不是C语言的特点的是( C )A、C语言简洁,紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言的移植性好2. 一个C程序是由()BA、一个主程序和若干个子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成3.以下描述正确的是( ) CA、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。

C、在do-while循环体中,不一定要有能使while后面表达式的值变成零(“假”)的操作。

D、do-while循环中,根据情况可以省略while。

4.以下对一维整形数组a的正确说明是( ) DA、int a(10);B、int n=10,a[n];C、int n;D、int a[10];5.以下对二维数组a的正确说明是( ) CA、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);6.数组名作为实参传给被调用的函数时,形参获得的是()CA、该数组第一个元素的值B、该数组所有元素的值C、该数组第一个元素的首地址D、该数组所有元素的首地址7. C程序的开始是从()AA、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束8.在C程序中,main()函数的位置()CA、必须作为第一个函数B、必须作为第二个函数C、可以任意D、必须放在它所调用的函数之后9. C编译程序是()CA、C语言的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序的程序D、是由自己编制的10.以下叙述中错误的是( )CA、C程序经过编译、连接之后形成一个真正可执行的二进制机器指令文件B、用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在文件中C、C语言中的每条可执行语句和非执行语句最终被转换成二进制的机器指令非执行的语句不转换:例如//和/**/是注释的意思D、C语言源程序经编译后生成后缀为.obj的目标程序1.以下不正确的C语言标识符是( )D字母,数字,下划线组成,但是不能以数字开头A、ABCB、abcC、a_bcD、ab.c12.一个C语言程序是由( ) BA、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成13.以下叙述错误的是( ) C算法可以没有输入输入,但是一定不能没有输出A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有个相同的结果14.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i*f值的数据类型为( ) C强制类型转换A、intB、floatC、doubleD、不确定15.以下叙述中错误的是( )CA、结构化程序由顺序、分支、循环三种基本结构组成B、C语言是一种结构化程序设计语言C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法16.以下叙述中错误的是()CA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有相同的结果17.以下选项中关于程序模块化的叙述错误的是()BA、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18. 关于C语言的符号常量,以下叙述中正确的是()CA、符号常量的名是标识符,必须大写B、符号常量的名是标识符,必须小写C、符号常量是指用一个符号名来代表一个常量D、符号常量的符号名必须是常量19.关于C语言的变量,以下叙述中错误的是()BA、所谓变量是指在程序运行过程中其值可以被改变的量B、变量所占的存储单元地址可以随时改变C、程序中用到的所有变量都必须先定义后使用D、由三条下划线构成的符号名是合法的变量名20.以下选项中合法的变量名是()CA、5aB、A%C、_10_D、sizeof21.在C语言中,char型数据在内存中的存储形式是( ) DA、补码B、反码C、源码D、ASCII码22.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

C语言上机题参考答案

C语言上机题参考答案
}
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);

c语言机考试题及答案

c语言机考试题及答案

c语言机考试题及答案一、选择题1. C语言的发明者是谁?A. 丹尼斯·里奇B. 肯·汤普逊C. 贝尔实验室团队D. 布莱恩·柯林汉答案: A2. 下面哪个不是C语言的基本数据类型?A. intB. floatC. charD. string答案: D3. 下面哪个关键字用于定义常量?A. constB. staticC. finalD. def答案: A4. 数据类型int在32位编译器上占用的字节数是多少?A. 4B. 1C. 8D. 2答案: A5. 下面哪个运算符用于获取变量的地址?A. *B. !C. &D. #答案: C二、填空题1. 在C语言中,用于输出结果到屏幕的函数是________。

答案: printf2. 在C语言中,用于从键盘输入数据的函数是________。

答案: scanf3. 用于定义宏函数的关键字是________。

答案: #define4. 变量定义时没有赋初值,默认值是________。

答案: 不确定5. 在C语言中,用于条件选择结构的关键字是________。

答案: if三、编程题1. 编写一个程序,判断一个数是否是素数。

答案:```c#include <stdio.h>int main() {int number, i, isPrime = 1;printf("请输入一个正整数:");scanf("%d", &number);for (i = 2; i <= number / 2; i++) {if (number % i == 0) {isPrime = 0;break;}}if (isPrime == 1)printf("%d是素数\n", number);elseprintf("%d不是素数\n", number);return 0;}```2. 编写一个程序,求斐波那契数列的第n项。

计算机c语言考试题及答案

计算机c语言考试题及答案

计算机c语言考试题及答案1. C语言的基础知识C语言是一种通用的、面向过程的编程语言,广泛用于软件开发和系统编程。

下面是一些计算机C语言的基础考试题:1.1 在C语言中,如何声明一个整型变量x?答案:使用关键字int,例如:int x;1.2 如何打印输出变量x的值?答案:使用printf函数,例如:printf("%d", x);1.3 如何进行C语言程序的注释?答案:使用双斜杠(//),例如:// 这是注释的内容。

2. C语言的数据类型和运算符C语言提供了多种数据类型和运算符,用于进行数据操作和计算。

以下是一些相关考试题:2.1 C语言中的基本数据类型有哪些?答案:int、float、double、char等。

2.2 请解释一下C语言中的逻辑运算符。

答案:C语言中的逻辑运算符包括与(&&)、或(||)和非(!),用于进行逻辑判断。

2.3 请写一个C语言程序,计算两个整数的和并输出结果。

答案:```c#include <stdio.h>int main() {int a = 5;int b = 3;int sum = a + b;printf("The sum is %d\n", sum);return 0;}```3. C语言的控制语句和循环结构C语言提供了多种控制语句和循环结构,用于实现程序的条件判断和循环执行。

以下是一些相关考试题:3.1 C语言中的if语句如何使用?举例说明。

答案:if语句用于进行条件判断,根据条件的真假执行相应的代码。

例如:```cint x = 3;if (x > 0) {printf("x is positive\n");} else {printf("x is non-positive\n");}```3.2 C语言中的循环结构有哪些?请写一个例子。

C语言试题及答案

C语言试题及答案

《C语言程序设计》试题四一.单项选择题1.运算符___________的优先级最高。

A.[ ]B.+= C.?: D.++2.main( ){ int n;( n=6*4,n+6),n*2;printf(―n=%d\n‖,n); }此程序的输出结果是______________.A.30 B. 24 C.60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。

.int a[10] , *p ;p=a ;A. *&a[10]B.a[11] C. *(p+11) D. *p *p *p4.设整型变量n的值为2,执行语句―n+=n-=n*n;‖后,n的值是__________A. 0B. 4C. - 4D. 25.各种基本数据类型的存贮空间正确的长度排列为__________。

A.Char<long<int<float<do ubleB.Double<float<long<int< charC.Char<int<long<float<do ubleD.Float<int<long<char<do uble 6.下面的变量说明中_____________是正确的。

A.char:a, b, c;B.char a; b; c; C.chara, b, c; D.char a, b, c7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。

A9 B 8C 15 D. 18.若x=5,y=3 则y*=x+5; y的值为_______________.A. 10B. 20C. 15D. 309.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。

A.a>=0||b>=0)&&(a<0||b<0) B.(a>=0 &&b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0)D.a*b>010.C语言中,合法的字符型常数是_________。

C语言程序设计试题及答案

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;其中指针变量的名字应该是()。

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

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

c语言程序设计基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整数?A. 0x10B. 0X1GC. 08D. 0L答案:A3. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. defD. void答案:B4. C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A5. 在C语言中,以下哪个运算符用于求余?A. %B. /C. //D. %答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。

答案:int2. 如果一个函数没有返回值,应该使用________关键字声明。

答案:void3. 在C语言中,________运算符用于连接字符串。

答案:+4. C语言中,________运算符用于比较两个值是否相等。

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

答案:*三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。

数组的每个元素可以通过指针运算来访问。

2. 解释C语言中函数原型声明的作用。

答案:函数原型声明提供了函数的名称、返回类型和参数类型,但不需要函数体。

它允许在函数定义之前调用函数,同时帮助编译器检查函数调用的正确性。

3. 什么是C语言中的预处理指令,举例说明。

答案:预处理指令是C语言中的特殊命令,用于在编译之前处理源代码。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

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语言机试试题及答案C语言机试试题及答案1. 下列哪个选项是C语言中的合法变量名?- A. 2variable- B. variable2- C. int- D. _variable答案:B, D2. C语言中,用于定义一个整型数组的语句是?- A. int array[10];- B. int [10] array;- C. int array=10;- D. int array;答案:A3. 在C语言中,哪个关键字用于定义一个函数?- A. int- B. void- C. function- D. define答案:B4. 下列哪个选项是C语言中的正确注释?- A. /* This is a comment */- B. // This is a comment- C. /* This is a comment- D. # This is a comment答案:A5. 在C语言中,如何声明一个无返回值的函数?- A. int function_name();- B. void function_name();- C. return function_name();- D. int function_name() { return; }答案:B6. C语言中,用于计算两个整数之和的运算符是?- A. +- B. -- C. *- D. /答案:A7. 在C语言中,哪个函数用于将字符串复制到另一个字符串? - A. strcpy- B. strcat- C. strcmp- D. strlen答案:A8. 下列哪个选项是C语言中的逻辑运算符?- A. &&- B. ||- C. =- D. ==答案:A, B9. 在C语言中,如何声明一个指向整型的指针? - A. int *ptr;- B. int ptr[];- C. int *ptr[];- D. int (*ptr)();答案:A10. C语言中,哪个关键字用于定义一个结构体? - A. struct- B. union- C. enum- D. typedef答案:A。

c语言题库及答案详解

c语言题库及答案详解

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. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。

- 答案:在C语言中,可以使用`int`关键字来声明整型变量。

以下是实现题目要求的代码。

```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。

- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。

```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。

c语言考试题及答案以及解析

c语言考试题及答案以及解析

c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。

int是C语言中用于声明整型变量的关键字。

2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。

二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。

2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。

三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。

答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。

数组的声明需要指定元素的类型和数组的长度。

数组的初始化可以在声明时完成。

解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。

答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。

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

函数的调用是使用函数名称和必要的参数来执行函数。

解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案

计算机二级《C语言》考试题库与答案一、程序填空题(共18分)、下列给定程序中,函数flm的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为“def35adh3kjsdt7”,执行后结果为“defadhajsdt3537”。

请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANKl.c中。

不得增行或删行,也不得更改程序的结构!二、程序修改题(共l8分)下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!三、程序设计题(共24分)编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为l,则输出3。

注意:部分源程序在文件PROCl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。

参考答案一、程序填空题【参考答案】(1)j++或j+=1或++j或j=j+1(2)s[i]=t1[i](3)j【考点分析】本题考查:指针型变量;数组变量赋值;for循环语句。

【解题思路】填空1:根据函致fun中的内容可知,数组t1存储了s中的非数字字符,数组口存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。

填空2:将S串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。

填空3:最后将敦字字符加到s串之后,并且i要小于数字的.个数j。

二、程序修改题【参考答案】(1)fh(j=i+1;j<6;j++)(2)*(pstr+i)=}(pstr+j);【考点分析】本题考查:冒泡排序算法;for循环语句格式;指针数组。

C语言题库(带详解答案)

C语言题库(带详解答案)

一单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。

A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

计算机基础c语言考试题及答案

计算机基础c语言考试题及答案

计算机基础c语言考试题及答案以下是一份计算机基础C语言的考试题目及对应的答案。

希望对您的学习和考试备考有所帮助。

题目1:变量与数据类型问:请简要介绍C语言的数据类型,并给出各数据类型的范围。

答:C语言的数据类型可以分为基本数据类型和派生数据类型。

基本数据类型包括char、int、float、double,分别用于表示字符型、整型、单精度浮点型和双精度浮点型数据。

其范围如下:- char:-128 ~ 127- int:-2147483648 ~ 2147483647- float:3.4e-38 ~ 3.4e38- double:1.7e-308 ~ 1.7e308题目2:运算符问:列举并解释C语言中常见的运算符。

答:C语言中常见的运算符包括算术运算符(+、-、*、/、%)、赋值运算符(=、+=、-=等)、逻辑运算符(&&、||、!)、关系运算符(==、!=、>、>=、<、<=)等。

算术运算符用于进行基本的数学运算,赋值运算符用于将某个数值赋给变量,逻辑运算符用于判断逻辑表达式的真假,关系运算符用于比较两个值之间的大小关系。

题目3:流程控制问:请简要介绍C语言中的if语句和for循环语句,并给出示例代码。

答:if语句用于根据条件执行不同的代码块,示例代码如下:```if (condition) {// 执行if代码块} else {// 执行else代码块}```for循环语句用于重复执行一段代码,示例代码如下:```for (初始化表达式; 循环条件; 更新表达式) {// 执行循环体代码块}```题目4:数组与指针问:请解释C语言中数组和指针的概念,并给出它们的区别。

答:C语言中的数组是一种存储多个相同类型元素的数据结构,可以通过下标访问数组中的元素。

指针则是用于存储某个变量的内存地址。

它们的区别在于,数组在定义时需要指定长度,而指针可以动态指向不同的内存地址;数组名可以看作是一个常量指针,而指针可以进行指针运算。

c语言历年真题及答案

c语言历年真题及答案

c语言历年真题及答案【篇一:c语言试题及答案】t>1. 单项选择题(1) c 语言是在 b 语言的基础上产生的。

a. ab. bc. dd. e(2) 在 c 语言中,每个语句必须以 d 结束。

a. 回车符b. 冒号c. 逗号d. 分号(3) 标识符和关键字间,要用c 隔开。

a. 回车符b. 冒号c. 空格d. 分号(4) 用 c 语言编写的源文件经过编译,若没有产生编译错误,则系统将( b )。

a. 生成可执行目标文件b. 生成目标文件c. 输出运行结果d.自动保存源文件(5) 下列说法中正确的是( b )。

a. 由于 c 源程序是高级语言程序,因此一定要在 tc 软件中输入b. 由 c 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入c. 由于c 程序是高级语言程序,因此输入后即可执行d. 由于 c 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( a )。

a. c 语言程序由主函数和 0 个或多个函数组成b. c 语言程序由主程序和子程序组成c. c 语言程序由子程序组成d. c 语言程序由过程组成(7) 下列说法中错误的是( d )。

a. 主函数可以分为两个部分:主函数说明部分和主函数体b. 主函数可以调用任何非主函数的其他函数c. 任何非主函数可以调用其他任何非主函数d. 程序可以从任何非主函数开始执行2. 填空题(1) c 语言只有 32个关键字和 9 种控制语句。

(2) c 语言是一种“ 中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行c 语言程序。

(4) 在 c 语言程序中允许出现的字符集是 ascii码字符集。

(5) c 语言的程序中有特殊含义的英语单词称为保留字。

(6) c 语言标识符的长度是前8位有效。

(7) c 语言中,标识符的定义规则是以字母或下划线为开头。

部分C语言习题答案

部分C语言习题答案

部分习题答案第1章C程序知识初步答案略第2章基本数据类型及其操作1.判断题√××√××××√√2.填空题(1)int a;float b;char c;(2)3(3)double(4)a=1,b=2,c=3(5)0 整型(6)2(7)若有定义:int x=3,y=2;float a=2.5,b=3.5; 则表达式(x+y)%2+(int)a/(int)b的值为 1 。

(8)f3.选择题ACDDB DBACD4.改错题(1)#include <stdoi.h> 改成#include <stdio.h>int celsius;fahr; 改成float celsius,fahr;printf(“fahr=d,celsius=%d\n”,fahr,celsius);改成printf(“fahr=%f,celsius=%f\n”,fahr,celsius);(2)printf("%d\n",m/n+a); 改成printf("%f\n",m/n+a);printf("%f\n",m%a+b); 改成printf("%f\n",m%(int)a+b);(3)下面程序中有两处错误,请查找并改正。

#include<stdio.h>void main (){ int m,n;float a,b;scanf("%d,%f",&m,&a);scanf("%d,%f",&b,&n); 改成scanf("%f,%d",&b,&n);printf("%f\n",m/n+a);printf("%f\n",m%n+b)改成printf("%f\n",m%n+b);}5.阅读程序(1)2(2)** ** ** **(3)程序的功能:从键盘任意输入两个整数,输出它们的和。

C语言试题(答案带解析)

C语言试题(答案带解析)

C语言试题(答案带解析)题目:编写一个C语言程序,实现以下功能:1. 输入一个字符串,长度不超过100个字符。

2. 统计并输出字符串中字母、数字、空格和其他字符的数量。

3. 删除字符串中所有的空格,并输出处理后的字符串。

4. 查找字符串中第一次出现字母 'a' 的位置,并输出位置(位置从0开始计算)。

5. 检查字符串是否为回文(忽略大小写和空格),如果是,输出"Yes",否则输出"No"。

试题代码如下:```c#include <stdio.h>#include <string.h>#include <ctype.h>int main() {char str[101];int alpha_count = 0, digit_count = 0,space_count = 0, other_count = 0;int i, a_position = -1;int len, is_palindrome = 1;// 输入字符串printf("Enter a string (up to 100 characters): ");fgets(str, 101, stdin);// 删除换行符len = strlen(str);if (str[len - 1] == '\n') {str[len - 1] = '\0';len--;}// 统计字符数量for (i = 0; i < len; i++) {if (isalpha(str[i])) {alpha_count++;if (str[i] == 'a') {a_position = i;}} else if (isdigit(str[i])) {digit_count++;} else if (isspace(str[i])) {space_count++;} else {other_count++;}}// 输出字符数量printf("Letters: %d\n", alpha_count); printf("Digits: %d\n", digit_count); printf("Spaces: %d\n", space_count); printf("Others: %d\n", other_count); // 删除空格并输出处理后的字符串char new_str[101];int j = 0;for (i = 0; i < len; i++) {if (!isspace(str[i])) {new_str[j++] = str[i];}}new_str[j] = '\0';printf("String without spaces: %s\n", new_str);// 查找字母 'a' 的位置if (a_position != -1) {printf("First occurrence of 'a' is at position: %d\n", a_position);} else {printf("'a' not found in the string.\n");}// 检查字符串是否为回文int start = 0, end = j - 1;while (start < end) {if (tolower(new_str[start]) !=tolower(new_str[end])) {is_palindrome = 0;break;}start++;end--;}if (is_palindrome) {printf("Yes\n");} else {printf("No\n");}return 0;}```解析:1. 程序首先通过 `fgets` 函数读取用户输入的字符串,并检查是否有多余的换行符。

(完整版)C语言试题及答案解析

(完整版)C语言试题及答案解析

C语言一、选择题(第题2分,共20分)1.一个C程序的执行是从 A 。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。

x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 523.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。

A) 0~255 B) 0~32767 C) 0~65535 D) 0~21474836474.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。

A) float B) char C) int D) double5. putchar函数可以向终端输出一个D 。

A) 整型变量表达式 B) 实型变量值C) 字符串 D) 字符或字符型变量值6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。

A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格 D) 输出错误信息7.判断char型变量ch是否为大写字母的正确表达式是 C 。

A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。

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

上机试题(一)1 已知A,B为正整数, A<B, A*B=716699且要求A+B取最小值,求满足上述条件的A值。

答案:5632 编写程序,求三位数的偶数中,所有各位数字之和是15的倍数的数的和。

答案:20454………………………………………………………………………………………………上机试题(二)1 编写程序,求三位数的奇数中,所有各位数字之和是12的倍数的数的和。

答案:202922 把一张一元钞票,换成一分、二分和五分硬币,每种至少5枚,问有多少种方案?答案:205……………………………………………………………………………………………上机试题(三)1 编写程序,求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。

答案:12985152 已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述:F(1)=1 if n=1F(2)=1 if n=2F(n)=F(n-1)+F(n-2) if n>2试求F(1)+F(3)+F(5)+……+F(49)值。

提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。

答案:12586269025…………………………………………………………………………………………………上机试题(四)1设有6个十进制数字a,b,c,d, e,f ,求满足abcdf×e=fdcba条件的五位数abcdf(a≠0,e≠0,e≠1)的个数。

答案:162一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:6=1+2+3,则6就是一个完数。

求出200到500之间所有的完数之和。

答案:496…………………………………………………………………………………………………上机试题(五)1 一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。

例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。

试求[100,999]之内的所有逆向超级素数的个数。

答案:392 编写程序,求在5000以内能被17或者23整除的正整数的个数。

答案:499…………………………………………………………………………………………………上机试题(六)1 设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的所有四位数abcd的和。

答案:36652 若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。

答案:30………………………………………………………………………………………………….上机试题(七)1 把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,问有多少种方案?答案:802 编写程序,求四位数的偶数中,所有各位数字之和是24的倍数的数的个数。

答案:187上机试题(八)1 已知f(0)=f(1)=1 f(2)=0 f(n)=f(n-1)-2*f(n-2)+f(n-3) (n>2)求f(0)到f(50)中的最大值答案:5983252 编写程序,计算在0~50的范围内有多少个数,其每位数的乘积大于每位数的和。

答案:23………………………………………………………………………………………………上机试题(九)1 斐波那契数列的前二项是1,1,以后每一项都是前面两项之和。

求10000000以内有多少个斐波那契数?答案:352 回文数是指正读和反读都一样的正整数。

例如3773是回文数。

求出[1000,9999]以内的所有回文数的个数。

答案:90…………………………………………………………………………………………………上机试题(十)1 某些分数的分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子的两位数字相加作分子,而将该分数的分母的两位数字相加作分母,得到的新分数跟原分数相等。

例如,63/84=(6+3)/(8+4)。

试求所有具有这种特点的真分数(非约简真分数)的分子与分母之和的和。

答案:300782 编写程序,求出1~6000以内能被3或者5整除的数的个数。

答案:2800…………………………………………………………………………………………………上机试题(十一)1 所谓“同构数”是指这样一个数,它出现在它的平方数的右侧,例如5的平方是25,25的平方是625,故5和25都是同构数,求[2,1000]之间有多少个同构数。

2 把50元钱分成一元、二元和五元的纸币且纸币张数共为20张的分法有多少种?(注:在兑换中,一元、二元、五元的纸币张数可以为0)…………………………………………………………………………………………………1 梅森尼数是指能使2^n-1为素数的数n,求[1,21]范围内最大的梅素尼数?2 编写程序,求出100到500之间同时满足除5余4和除7余2条件的数的和。

………………………………………………………………………………………………..上机试题(十三)1 编写程序求四位数的奇数中,所有各位数字之积(且不为0)是125的倍数的数的和。

2 两个素数之差为2,则称这两个素数为双胞胎数。

求出[200,1000]之间的最大一对双胞胎数的和。

………………………………………………………………………………………………..上机试题(十四)1 所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。

编写程序,求出100-200的范围内所有回文数的和。

2 已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好能被其因子数8整除,求正整数[10,100]之间有多少个正整数能被其因子的个数整除。

…………………………………………………………………………………………………上机试题(十五)1 若(x,y,z)满足方程:x^2+y^2+z^2=55^2(注:要求 x > y > z),则(x,y,z)称为方程的一个解。

试求方程的所有整数解中|x|+|y|+|z|的最小值。

2 已知一个数列的前三项为0,0,1,以后各项都是其相邻的前三项之和,求该数列前30项之和。

上机试题(十六)1 编写程序,已知:S=2+4+8+16+32+…,求S不大于2500的最大值。

2 若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。

如:由于7396=86^2,且7+3+9+6=25=5^2,则称7396是“四位双平方数”。

若把所有“四位双平方数”按升序排列,求前10个“四位双平方数”的和。

…………………………………………………………………………………………………上机试题(十七)1 编写程序,求出3到200之间的所有非偶数非素数的数之和。

2 若某正整数平方等于某两个正整数平方之和,称该正整数为弦数。

例如:由于3^2+4^2=5^2,则5为弦数,求[131,200]之间最小的弦数。

………………………………………………………………………………………………….上机试题(十八)1 一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。

例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。

试求[100,999]之内的所有逆向超级素数的和。

2 编写程序,求在200~1000之间所有能被4除余3,被7除余5,被9除余2的数之和。

………………………………………………………………………………………………..上机试题(十九)1 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数的和。

但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。

试求8844可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)2 求方程9X-19Y=1,在|X|≤100,|Y|≤50内共有多少组整数解?………………………………………………………………………………………………….1 编写程序,求在200~1000之间所有能被4除余3,被7除余4,被9除余4的数之和。

2 倒勾股数是满足公式: 1/A^2+1/B^2=1/C^2 的一组正整数(A,B,C),例如,(156,65,60)是倒勾股数,因为:1/156^2+1/65^2=1/60^2。

假定A>B>C,求A,B,C均小于或等于100的倒勾股数有多少组?………………………………………………………………………………………………..上机试题(二十一)1 编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是15的倍数,且A+D=B+C,即第1位数加上第4位数等于第2位数加上第3位数。

2 求S=1/2+2/3+3/5+5/8+……的前30项的和(注:该级数从第二项开始,其分子是前一项的分母,其分母是前一项的分子与分母的和)。

要求:按四舍五入的方式精确到小数点后第二位。

…………………………………………………………………………………………………上机试题(二十二)1 求1/(1*2)+1/(2*3)+1/(3*4)+....+1/(N*(N+1))的值,N=20, 要求:按四舍五入的方式精确到小数点后第二位。

2自然数对是指两个自然数的和与差都是平方数,如8和17的和8+17=25与其差 17-8=9都是平方数,则称8和17是自然数对(8,17)。

假定(A,B)与(B,A)是同一个自然数对且假定A>=B,求所有小于或等于100(即:A<=100,B<=100,A<>B,A和B均不为0)的自然数对中A-B之差的和。

上机试题(二十三)1.编写程序,求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。

2.编写程序,已知:S=2+4+8+16+32+…,求S不大于1500的最大值。

…………………………………………………………………………………………………上机试题(二十四)1.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。

相关文档
最新文档