C语言机考习题

合集下载

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语言机试试题及答案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语言机试题目及答案题目1:编写一个C程序,实现输入一个整数,输出其绝对值。

```c#include <stdio.h>#include <stdlib.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num < 0) {printf("%d的绝对值是%d\n", num, -num);} else {printf("%d的绝对值是%d\n", num, num);}return 0;}```答案1:程序首先包含必要的头文件`stdio.h`和`stdlib.h`。

然后定义了`main`函数,程序入口点。

使用`printf`输出提示信息,`scanf`读取用户输入的整数。

通过判断输入的整数是否小于0,使用三元运算符输出其绝对值。

题目2:编写一个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:程序使用`for`循环遍历1到100之间的所有整数,通过取模运算判断是否为偶数。

如果是偶数,则累加到变量`sum`中。

循环结束后,使用`printf`输出所有偶数的和。

题目3:编写一个C程序,实现输入一个字符串,然后输出其逆序字符串。

```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;}```答案3:程序首先定义了一个字符数组`str`,用于存储用户输入的字符串。

c语言机考试题及答案

c语言机考试题及答案

c语言机考试题及答案**C语言机考试题及答案**一、选择题1. C语言中,以下哪个不是合法的标识符?A. `int`B. `2abc`C. `main`D. `var_name`答案:B2. 在C语言中,以下哪个是正确的整型常量?A. `0x1A`B. `0x1.2`C. `0x1.2p1`D. `0x1.2e1`答案:A3. 以下哪个选项不是C语言中的运算符?A. `+`B. `-`C. `&`D. `%`答案:C4. C语言中,以下哪个函数用于计算字符串的长度?A. `strlen()`B. `strcpy()`C. `strcat()`D. `strcmp()`答案:A5. 在C语言中,以下哪个是正确的二维数组声明?A. `int array[3][2]`B. `int array[][]`C. `int array[3]`D. `int array[2,3]`答案:A二、填空题1. C语言中,`printf`函数用于输出,其返回类型是______。

答案:int2. C语言中,`sizeof`运算符用于获取数据类型或变量所占的______。

答案:字节数3. C语言中,`break`语句用于______循环。

答案:跳出4. C语言中,`continue`语句用于______循环。

答案:跳过本次循环的剩余部分5. C语言中,`switch`语句中,`case`后面必须跟一个______。

答案:常量表达式三、简答题1. 请简述C语言中函数声明和函数定义的区别。

答案:函数声明提供了函数的接口信息,包括返回类型、函数名和参数列表,但不包含函数体。

函数定义则包含了函数声明的所有信息,并且提供了函数体,即函数的具体实现。

2. 请解释C语言中的指针和引用的区别。

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

指针可以被重新赋值指向不同的内存地址。

引用是一个别名,它必须在声明时被初始化,并且不能改变它所引用的变量地址。

c语言机考试题及答案

c语言机考试题及答案

c语言机考试题及答案1. 题目:编写一个C语言程序,计算并输出100以内所有正整数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("100以内所有正整数的和为:%d\n", sum);return 0;}```2. 题目:使用C语言编写一个程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("反转后的字符串为:%s\n", str);return 0;}```3. 题目:编写一个C语言程序,实现计算数组中所有元素的平均值。

答案:```c#include <stdio.h>int main() {int arr[] = {10, 20, 30, 40, 50};int sum = 0;float average;int n = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < n; i++) {sum += arr[i];}average = (float)sum / n;printf("数组的平均值为:%.2f\n", average);return 0;}```4. 题目:使用C语言编写一个程序,实现查找并输出数组中的最大值。

c语言上机考试题及答案

c语言上机考试题及答案

c语言上机考试题及答案 C语言上机考试题及答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C2. C语言中,哪个关键字用于声明一个函数?A. classB. functionC. structD. void答案:D3. 在C语言中,数组的下标从哪个数字开始?A. 0B. 1C. -1D. 任意数字答案:A二、填空题1. C语言中,用于定义变量的关键字是______。

答案:int2. 在C语言中,表示逻辑“与”的运算符是______。

答案:&&3. C语言中,用于循环结构的关键字有______和______。

答案:for,while三、编程题1. 编写一个C程序,计算并输出1到100之间所有奇数的和。

```cinclude <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```答案解析:该程序使用一个for循环遍历1到100的整数,通过`i % 2 != 0`判断是否为奇数,如果是,则累加到`sum`变量中。

最后输出所有奇数的和。

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

```cinclude <stdio.h>include <string.h>void reverseString(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!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```答案解析:该程序定义了一个`reverseString`函数,通过交换字符串首尾字符的方式实现字符串的反转。

c语言上机考试题及答案

c语言上机考试题及答案C语言上机考试题及答案一、选择题1. C语言中,以下哪个选项是正确的整型常量表示?A. 0x123B. 0123C. 123.0D. 0.123答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B、C3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"'D. 'Hello, World!"答案:A4. 下列哪个选项是C语言中的合法数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:A、B、C二、填空题1. 在C语言中,`printf`函数用于输出信息,其格式控制字符串中表示整数的格式说明符是______。

答案:%d2. 若有以下C语言代码片段:```cint a = 10, b = 20;float x = 12.5, y = 5.5;printf("%d %d", a, b);```则输出结果为______。

答案:10 203. C语言中,`sizeof`运算符用于获取数据类型所占的字节数。

例如,`sizeof(int)`的值通常是______。

答案:4(或根据系统实际情况填写)三、编程题1. 编写一个C语言程序,计算并输出100以内所有素数的和。

```cinclude <stdio.h>include <math.h>int isPrime(int num) {if (num <= 1) return 0;for (int i = 2; i <= sqrt(num); i++) {if (num % i == 0) return 0;}return 1;}int main() {int sum = 0;for (int i = 2; i < 100; i++) {if (isPrime(i)) {sum += i;}}printf("Sum of all primes less than 100 is: %d\n", sum); return 0;}```答案:```cSum of all primes less than 100 is: 1060```2. 编写一个C语言程序,实现字符串的反转。

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

1 2010-2011学年第一学期程序设计基础机试题库 一、选择结构程序设计部分 1. 从键盘接收两个整数,屏幕输出其中较大的一个。 2. 从键盘接收三个整数,屏幕输出最大的一个。 3. 从键盘接收一个字母,如果接收的是‘y’或者‘Y’,则输出“正确”。否则输出“错误” 4. 从键盘上接收一个十进制整数,转换成二进制输出。 5. 从键盘上接收一个十进制整数,转换成八进制输出。 6. 从键盘上接收一个十进制整数,转换成十六进制输出。 7. 从键盘接收一个字符,如果是字母,输出其对应的ASCII码,否则给出提示信息“输入的不是字母”。 8. 从键盘接收一个三位数的整数,求出每一位数字并按逆序输出,如输入的数位123,输出的一个数位321。 9. 要将“china”译成密码。密码规律是:用原来的字母后面第4个字母代替原来的字母。 例如,字母“A”后面第4个字母中“E”,用“E”代替“A”。因此,“china”应译为“glmre”。请编一程序,用赋初值的方法使c1. c2.c3.c4.c5 5个变量的值分别为’c’. ‘h’. ‘i’. ‘n’. ‘a’,经过运算,使c1. c2 c3 c4 c5 的值分别变为’G’. ‘I’ . ‘m’ ‘r’ ‘e’, 并输出。 10. 从键盘接收一个自然数,判断它是奇数还是偶数。 11. 设圆的半径R=1.5,圆柱高H=3,求圆周长.面积.球表面积.球体积.圆柱体积.用scanf输入数据,输入数据,输出计算结果,输出时要求文字说明,取小数点后2位数字.请编程序。 12. 输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-32)输出要有文字说明,取两位小数。 13. 编写一个程序,求a+|b|,其中a,b为两个整数。 14. 编写程序实现交换两个变量的值。 15. 从键盘上接收一个整数n,判断该数能否同时被3和5整除。 16. 从键盘上输入一个年份,判断是否为闰年。 17. 从键盘上输入三个数,判断是否可以由他们组成三角形,如果能,计算三角形的面积,否则给出提示信息“不能构成三角形”。 18. 给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。 19. 按如下流程图设计求ax2+bx+c=0的一元二次方程解的程序。 2

20. 已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下所示(计量单位:元)。计算员工的当月薪水。

工程利润profit 提成比率

profit≤1000 没有提成 1000<profit≤2000 提成10% 2000<profit≤5000 提成15% 5000<profit≤10000 提成20%

10000<profit 提成25% 21. 编程设计一个简单的计算器程序,要求根据用户从键盘输入如下形式的表达式:操作数1 运算符 op 操作数2,然后,计算并输出表达式的值, 指定的运算符为: 加(+)、 减(-)、 乘(*) 除(/)。 22. 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。设faHeight为其父身高,moHeight为其母身高,身高预测公式为: 男性成人时身高 = (faHeight + moHeight) * 0.54(cm) 女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm) 此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。 编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。 23. 给出一个不多于5位的正整数要求编程: 1) 判断它是几位数; 2 )分别打印出每一位数字; 3 )按逆序打印出各位数字。

二、循环结构程序设计部分 1. 求s=1+2+3+……+100,并输出结果,要求分别用while,do……while,for三种语句形式实现。 2. 从键盘接收一个自然数n,计算n!并输出结果,要求分别用while,do……while,for三种语句形式实现。 3. 统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。 4. 输出码值为32~127的ASCII码码值、字符对照表。如下图所示 3

5. 求输入的十个整数中正数的个数及其平均值。 6. 求1~100之间的所有素数 7. 将用户输入的小写字母转换成大写字母,直到输入非小写字母字符。 8. 验证哥德巴赫猜想:任一充分大的偶数,可以用两个素数之和表示。例如:4 = 2 + 2,6 = 3 + 3,98 = 19 + 79 9. 利用下面的公式求π的近似值,要求累加到最后一项小于10-6为止。 10. 输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。 11. 一个数如恰好等于它的因子之和,这个数就称为“完数”。编程序找出1000以内的所有完数,并输出其因子(6是一个"完数",它的因子是1,2,3) 12. 输入一个正整数,输出它的所有质数因子(如180的质数因子为 2、2、3、3、5)。 13. 求出1至100000之间的素数(只能被1和自身整除的数)以每行10个数输出在屏幕上。 14. 试编程找出1至99的所有同构数,所谓同构数是指它出现在它的平方数的右边。如6的平方数36故6是同构数。 15. 求这样一个三位数,该三位数等于其每位数字的阶乘之和。 16. 编写程序。用面值一元的一张人民币兑换1分、2分和5分的硬币共有多少种换法?打印出每种换法。 17. 编程求下列算式:(要求最后一项小于10-3) SUM=1+1/2+1/3+1/4+…… 18. 利用牛顿迭代法求方程0634223xxx的根。 19. 利用二分法求方程0634223xxx的根。 20. 采用Euclid(欧几里德)算法来求最大公因子,其算法是: (1) 输入两个正整数m和n。 (2) 用m除以n,余数为r,如果r等于0,则n是最大公因子,算法结束,否则(3)。 (3) 把n赋给m,把r赋给n,转(2)。 21. 用循环结构程序设计方法,输出一个九九乘法表 22. 求 (即求1!+2!+3!+…+11!+12!)。 23. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。 24. 魔方阵 编程实现魔方阵。即n2(n为奇数)个自然数填入方阵中,使它的每行、每列及对对角线的数之和

为2)1(2nn。 n=3时,则为:

25. 计算用户输入的两正整数之间的所有整数中0,1,2,…,9数码的个数。例如,101~104之间总共8 1 6

3 5 7 4 9 2

71513

11



71513

114

包含四个整数101,102,103,104,其中0的个数为4,1的个数为5,2、3、4的个数都为1,其余数码没出现都为0。 input two integer: 1500 3000↙ 0 – 403 1 – 900 2 – 1400 3 – 401 4 – 400 5 – 500 6 – 500 7 – 500 8 – 500 9 – 500 26. 换零钱:把一元人民币换成现行的角硬币,共有多少种兑换方法? 27. 递增的牛群:若一头小母牛,从第4个年头开始每年生育一头母牛,按照此规律,第n年时有多 少头母牛?请设计求解该问题的c语言程序。 28. 准备客票:某铁路线上共有10个车站,问需要准备几种车票?设计求解该问题的c语言程序。 29. 板砖问题:有36块砖,由36人搬:一男搬4块,一女搬3块,两个小孩抬一块。要求一次全部搬完。问男、女、小孩人数个若干? 30. 爱因斯坦的阶梯问题:设有一个阶梯,若每步跨3阶,最后余2阶;若每步跨5阶,最后余4阶;若每步跨6阶,最后余5阶;若每步跨7阶,正好到达。问共有多少级阶梯。 31. 编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则计算机给出提示:“Right!”, 否则提示:“Wrong!”,并告诉人所猜的数是大(Too high)还是小(Too low),然后结束游戏。要求每次运行程序时机器所“想”的数不能都是一样的。(提示:随机函数srand 为函数rand()设置随机数种子来实现对函数rand所产生的伪随机数的 “随机化” 通过键入随机数种子 产生[0,100]之间的随机数 scanf("%u", &seed); srand(seed); magic = rand() % 100 + 1; 32. 国王的许诺: 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相 自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。 国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米? (已知1立方米麦子约1.42e8粒) 总粒数为:sum=1+2+22+23+…+263 33. 用循环结构编程输出如图所示的图形

相关文档
最新文档