C语言上机题库百科园第4章!南信大!
计算机二级c语言上机(南开大学)100题 (1)
计算机二级C语言上机(南开大学)100题程序填空题1 补充fun函数,fun函数的功能是求10的阶乘。
n>1 n-1 n==12 在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出数列是一种整数数列,其中每数等于前面两数之和n==o n==1 fun(n-1)+fun(n-2)3 补充函数fun(char*s),该函数的功能是把字符串中的内容逆置s+i<s+n-1-i*(s+i)=(s+n-1-i) *(s+n-1-i)=t4 补充函数fun,他的功能是计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和i<=ni%3==0||i%7==0 1.0/i5 功能是求1/2的圆面积,函数通过形参得到圆的半径,函数返回1/2的圆面积r r*r &x6 功能是计算并输出下列级数的前N项合Sn,直到Sn大于q为止,q 的值通过形参传入<= n++return s7 函数fun的功能是统计长整数n的各个位上出现数字1.2.3的次数,并通过外部(全局)变量c1.c2.c3返回主函数n%10 break break8 补充main函数,功能是从键盘输入一组整数,使用条件表达式找出最大的整数,当输入的整数为0时结束&num[i]max<num[i]? num[i]!=09 给定程序的功能是分别统计字符串中大写字母和小写字母的个数(*a)++ (*b)++ upper,lower10 补充main函数,功能是从键盘输入3个整数,然后找出最大的数并输出。
max=a max=b max=c11 函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动1 s[k] c12 补充fun函数,功能是字符串tt中的大写字母都改为对应的小写字母,其他的字符不变。
tt[i]<='Z'tt[i]+=32 tt13 补充fun函数,功能是判断一个数是否为素数。
C语言上机题库百科园第优选章南信大
第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}执行后输出结果是3.对for(表达式1;;表达式3)可理解为()。
(表达式1;1;表达式3)(表达式1;0;表达式3)(表达式1;表达式1;表达式3)(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf("%d",i--);次次C.无限次次5.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
的值等于12345并且n的值大于等于3的值不等于12345并且n的值小于3的值不等于12345或者n的值小于3的值等于12345或者n的值大于等于36.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
循环中,根据情况可以省略whileB.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句循环由do开始,用while结束,在while(表达式)后面不能写分号D.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作7.执行语句for(i=1;i++<4;);后变量i的值是()。
百科园C语言题库完整
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4. 一个C语言程序是由( ) C.函数组成5. 以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6. 以下叙述正确的是( ) C.c语言本身没有输入和输出语句7. 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8. 以下叙述正确的是( )B.c程序中注释部分可以单独占一行9. 以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10. 一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11. 以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
南京信息工程大学C语言题库
单项选择==================================================题号:13167以下叙述中正确的是()。
A、程序设计的任务就是确定所用算法B、程序设计的任务就是确定所用数据结构C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是()。
A、可执行程序B、源程序C、汇编程序D、目标程序答案:A题号:13171下列叙述中正确的是()。
A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、main可作为用户标识符,用以命名任意一个函数作为主函数D、C语言程序将从源程序中第一个函数开始执行答案:A题号:13165在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A、确定性B、正当性C、可行性D、有穷性答案:A题号:13164以下叙述中正确的是()。
A、用C语言编写的程序只能放在一个程序文件中B、C、D、答案:D题号:13169下列叙述中正确的是()。
A、在C程序中 main( )函数的位置是固定的B、每个C程序文件中都必须要有一个main( )函数C、C程序中所有函数之间都可以相互调用,与函数所处位置无关D、在C程序的函数中不能定义另一个函数答案:D题号:13191设有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是()。
A、10,a,9B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是()。
百科园c语言题库 -回复
百科园C语言题库
一、选择题
1.C语言中,以下哪个选项不是合法的字符常量?
2. A. 'A'
3. B. 'a'
4. C. '\0'
5. D. '\''
6.答案:D. '\'' 应该为 "''"
7.在C语言中,哪个运算符可以用于强制类型转换?
8. A. %
9. B. /
10. C. &
11. D. (type)
12.答案:D. (type)
13.下列哪个选项不是C语言的基本数据类型?
14. A. int
15. B. char
16. C. float
17. D. void
18.答案:D. void
二、填空题
1.在C语言中,主函数通常命名为____。
2.答案:main()
3.C语言中的注释可以使用____或____开头。
4.答案:// 单行注释 /多行注释/
5.结构体类型在C语言中定义时,必须使用关键字____。
6.答案:struct
三、简答题
1.写出C语言中定义一个整型变量的语句。
2.答案:int variableName;
3.描述C语言中数组的特性。
4.答案:数组是一种特殊的变量类型,可以存储多个相同类型的元素。
在C
语言中,数组必须先定义后使用,并且数组的大小是固定的。
数组的索引从0开始,可以用于循环和访问特定元素。
C语言上机题库百科园南信大
第一章以下叙述中错误(de)是( )A.一个C语言程序只能有一个主函数B.C语言编写(de)每个函数都可以进行独立(de)编译并执行C.C语言编写(de)函数都可以作为一个独立(de)源程序文件D.C语言编写(de)函数源程序,其文件名后缀可以是C计算机高级语言程序(de)运行方法有编译执行和解释执行两种,以下叙述中正确(de)是( )A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.以上说法都不对D.C语言程序既可以编译执行又可以解释执行C语言规定:在一个源程序中,main(de)位置( )A.可以任意B.必须在最后C.必须在最开始D.必须在系统调用(de)库函数后面一个C语言程序是由( )A.若干过程组成B.若干子程序组成C.函数组成D.一个主程序和若干子程序组成以下关于结构化程序设计(de)叙述中正确(de)是( )A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.在C语言中,程序(de)模块化是利用函数实现(de)C.由三种基本结构构成(de)程序只能解决小规模(de)问题D.结构化程序使用goto语句会很便捷以下叙述正确(de)是( )A.在C程序中,main函数必须位于程序(de)最前面B.在对一个C程序进行编译(de)过程中,可发现注释中(de)拼写错误C.C语言本身没有输入输出语句D.程序(de)每行中只能写一条语句以下叙述中错误(de)是( )A.C语言编写(de)每个函数都可以进行独立(de)编译并执行B.C语言编写(de)函数源程序,其文件名后缀可以是CC.一个C语言程序只能有一个主函数D.C语言编写(de)函数都可以作为一个独立(de)源程序文件以下叙述正确(de)是( )A.C程序(de)书写格式是固定(de),每行只能写一条语句B.C程序中注释部分可以单独占一行C.构成C程序(de)基本单位是函数,所有函数名都可以由用户命名D.在对C语言程序进行编译时,可以发现注释行中(de)拼写错误以下叙述正确(de)是( )A.C语言程序是由过程和函数组成(de)B.C语言函数不可以单独编译C.C语言中除了main函数,其他函数不可作为单独文件形式存在D.C语言函数可以嵌套调用,例如:fun(fun(x))一个C程序(de)执行是从( )A.本程序文件(de)第一个函数开始,到本程序main函数结束B.本程序文件(de)第一个函数开始,到本程序文件(de)最后一个函数结束C.本程序(de)main函数开始,到本程序文件(de)最后一个函数结束D.本程序(de)main函数开始,到main函数结束以下叙述不正确(de)是( )A.在C程序中,注释说明只能位于一条语句(de)后面B.C程序(de)基本组成单位是函数C.一个C源程序可由一个或多个函数组成D.一个C源程序必须包含一个main函数。
百科园C语言题库完整
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4. 一个C语言程序是由( ) C.函数组成5. 以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6. 以下叙述正确的是( ) C.c语言本身没有输入和输出语句7. 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8. 以下叙述正确的是( )B.c程序中注释部分可以单独占一行9. 以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10. 一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11. 以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
南京邮电大学《C语言程序设计》2023-2024学年第一学期期末试卷
南京邮电大学《C语言程序设计》2023-2024学年第一学期期末试卷《C语言程序设计》考试内容:《C语言程序设计》;考试时间:120分钟;满分:100分;姓名:——;班级:——;学号:——一、选择题(每题2分,共20分)1. 下列哪个选项是C语言合法的标识符?A. `2number`B. `_var`C. `int`D. `if`2. 下列关于C语言数据类型的说法中,哪个是错误的?A. `char` 类型用于存储单个字符。
B. `float` 和`double` 都是浮点型数据类型,但`double` 的精度高于 `float`。
C. `void` 类型用于表示无类型,不能用于声明变量。
D. `int` 类型的变量占用4个字节的内存空间(注:此选项可能因编译器和平台而异,但在此上下文中作为示例)。
3. 下列哪个语句能够正确地从标准输入读取一个整数并存储在变量`num`中?A. `scanf("%f", &num);`B. `scanf("%d", num);`C. `printf("%d", &num);`D. `scanf("%d", &num);`4. 下列哪个循环结构在条件表达式为真时至少执行一次循环体?A. `for` 循环B. `while` 循环C. `do-while` 循环D. 以上都是,取决于条件表达式5. 假设有数组定义`int arr[5] = {1, 2, 3, 4, 5};`,则`arr[2]`的值是?A. 1B. 2C. 3D. 46. 在C语言中,关于函数返回值的说法错误的是?A. 函数可以没有返回值,此时返回类型应为`void`。
B. 函数只能返回一个值,且该值的类型必须与函数声明的返回类型一致。
C. 函数返回的值可以通过赋值语句赋给另一个变量。
D. 函数返回的值类型必须是`int`。
C语言上机题库百科园南信大
C语言上机题库百科园南信大Company number【1089WT-1898YT-1W8CB-9UUT-92108】第一章以下叙述中错误的是( )A.一个C语言程序只能有一个主函数B.C语言编写的每个函数都可以进行独立的编译并执行C.C语言编写的函数都可以作为一个独立的源程序文件D.C语言编写的函数源程序,其文件名后缀可以是C计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.以上说法都不对D.C语言程序既可以编译执行又可以解释执行C语言规定:在一个源程序中,main的位置( )A.可以任意B.必须在最后C.必须在最开始D.必须在系统调用的库函数后面一个C语言程序是由( )A.若干过程组成B.若干子程序组成C.函数组成D.一个主程序和若干子程序组成以下关于结构化程序设计的叙述中正确的是( )A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.在C语言中,程序的模块化是利用函数实现的C.由三种基本结构构成的程序只能解决小规模的问题D.结构化程序使用goto语句会很便捷以下叙述正确的是( )A.在C程序中,main函数必须位于程序的最前面B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误C.C语言本身没有输入输出语句D.程序的每行中只能写一条语句以下叙述中错误的是( )A.C语言编写的每个函数都可以进行独立的编译并执行B.C语言编写的函数源程序,其文件名后缀可以是CC.一个C语言程序只能有一个主函数D.C语言编写的函数都可以作为一个独立的源程序文件以下叙述正确的是( )A.C程序的书写格式是固定的,每行只能写一条语句B.C程序中注释部分可以单独占一行C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.在对C语言程序进行编译时,可以发现注释行中的拼写错误以下叙述正确的是( )A.C语言程序是由过程和函数组成的B.C语言函数不可以单独编译C.C语言中除了main函数,其他函数不可作为单独文件形式存在D.C语言函数可以嵌套调用,例如:fun(fun(x))一个C程序的执行是从( )A.本程序文件的第一个函数开始,到本程序main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的main函数开始,到main函数结束以下叙述不正确的是( )A.在C程序中,注释说明只能位于一条语句的后面B.C程序的基本组成单位是函数C.一个C源程序可由一个或多个函数组成D.一个C源程序必须包含一个main函数。
c语言上机试题库及答案
c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。
C语言上机题库百科园!南信大!
第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){ int i;for(i=0; i<3; i++)switch(i){ case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);}}执行后输出结果是A.011122B.120C.012020D.0123.对 for(表达式1; ;表达式3) 可理解为()。
A.for(表达式1;1;表达式3)B.for(表达式1;0;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;) printf("%d",i--);A.0次B.1次C.无限次D.2次5.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
A.p的值等于12345并且n的值大于等于3B.p的值不等于12345并且n的值小于3C.p的值不等于12345或者n的值小于3D.p的值等于12345或者n的值大于等于36.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
A.do-while 循环中,根据情况可以省略 whileB.由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句C.do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号D.在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作7.执行语句 for(i=1;i++<4;); 后变量 i 的值是()。
百科园C语言题库完整
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4. 一个C语言程序是由( ) C.函数组成5. 以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6. 以下叙述正确的是( ) C.c语言本身没有输入和输出语句7. 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8. 以下叙述正确的是( )B.c程序中注释部分可以单独占一行9. 以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10. 一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11. 以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
C语言上机题库百科园第优选章!南信大!
C语言上机题库百科园第优选章!南信大!第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}执行后输出结果是3.对for(表达式1;;表达式3)可理解为()。
(表达式1;1;表达式3)(表达式1;0;表达式3)(表达式1;表达式1;表达式3)(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf("%d",i--);次次C.无限次次5.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
的值等于12345并且n的值大于等于3的值不等于12345并且n的值小于3的值不等于12345或者n的值小于3的值等于12345或者n的值大于等于36.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
循环中,根据情况可以省略whileB.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句循环由do开始,用while结束,在while(表达式)后面不能写分号D.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作7.执行语句for(i=1;i++<4;);后变量i的值是()。
百科园C语言题库
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4.一个C语言程序是由( ) C.函数组成5.以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6.以下叙述正确的是( ) C.c语言本身没有输入和输出语句7.以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8.以下叙述正确的是( )B.c程序中注释部分可以单独占一行9.以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10.一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11.以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
C语言答案第4章
第4章4.1 分析下面程序的结果:(1)#include <stdio.h>void main(){int i,t,sum=0;for(t=i=1;i<=10;){sum+= t; ++i;if(i%3==0) t=-i;else t=i;}printf("sum=%d",sum);}运行结果:sum=19分析:该数列为sum=1+2-3+4+5-6+7+8-9+10 (2)#include <stdio.h>void main(){int i;for(i=1;i<=5;i++){switch(i%2){case 0: i++;printf("#");break;case 1: i+=2;printf("*");default: printf("\n");}}printf("i=%d",i);}运行结果:*#i=6(3)#include <stdio.h>void main(){int y=10;do{y--;}while(--y);printf("%d\n",y--);}运行结果:分析:循环体共执行5次(4)#include <stdio.h>void main(){int m,n;printf("Enter m,n; ");scanf("%d%d",&m,&n);while(m!=n){while(m>n) m-=n;while(n>m) n-= m;}printf("m=%d\n",m);}运行结果:m=14.2求自然数1~100的累加和,分别用三种循环控制语句实现。
方法1(for循环)#include <stdio.h>void main(void){i nt i,sum=0;f or(i=0;i<=100;i++)sum+=i;printf("%d",sum);}方法2(while循环)#include <stdio.h>void main(void){int a = 1, sum = 0;while(a <= 100){sum += a;a++;}printf("%d", sum);}方法3(do-while循环)#include <stdio.h>void main(void){i nt i,sum=0;i=1;dosum=sum+i;i++;}w hile(i<=100);printf("%d",sum);}4.3计算1-3+5-7+…-99+101的值。
安徽大学C语言期末上机考试试卷及答案
2013上机考试试题一、单项选择题1.下列运算符中优先级最高的是【C 】A.||B.*C.++D.&&2.下列数据中定义正确的是【D 】A. char str[3][]={“abc”,’1’};B. char str[][3]={“abc”,’1’};C. char str[3][]={‘a’,’1’};D. char str[][3]={‘a’,’1’};3.下列符号常量的定义中正确的是【D 】A. #define N 1 3B. define N 3C. #define N-1 3D. #define N 34. 下列标识符中不能作为函数名的是【A 】A. 3_fnB. fn_fnC. fn_0D. fn5. 定义float Num; *ptr=&Num; 下列表达式中错误的是【B 】A. *&ptrB. &*NumC. &*ptrD. *&Num6. strlen(“\\129\129abc\t”)的值是【C 】A. 9B. 12C. 10D. 77.整型变量做实参时,它和对应形参之间的数据传递方式是【D 】A. 由用户指定传递方式B. 双向值传递C. 地址传递D. 单向值传递8. 函数调用不可以出现在【A 】中A. 函数的形参B. 表达式C. 函数的实参D. 执行语句9. 下列程序的输出结果是【B 】Int a[]={1,2,3,4,5,6},*pa;pa=a;*(pa+2)+=2;Printf(“%d%d”,*pa,*(pa+2));A. 06B. 15C. 04D. 1410. 以下函数说明正确的是【A 】A. short max (int X, int Y);B. short max (int X; int Y);C. short max (int X; int Y)D. short max (int X, Y)11. char *str=”1234”;char *p;p=str;printf(“%s”,p+1);输出结果是【B 】A. 1234B. 234C. 134D. 12312. 下列条件表达式中,【C 】可以判断c是否为大写字母。
百科园C语言题库
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4.一个C语言程序是由( ) C.函数组成5.以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6.以下叙述正确的是( ) C.c语言本身没有输入和输出语句7.以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8.以下叙述正确的是( )B.c程序中注释部分可以单独占一行9.以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10.一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11.以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
C语言上机题库百科园!南信大!
第六章单选若已定义char s[10];则在下面表达式中不表示s[1]的地址是()。
A.&s[1]B.&s[0]+1C.s+1D.s++下面程序段的运行结果是()。
char a[ ]=”language” , *p ;p=a ;while (*p!='u') { printf(“%c”,*p-32); p++ ; }nguagengUAGENGUAGENG下面能正确进行字符串赋值操作的是( )A.char s[5]={'A','B','C','D','E'};B.char s[5]={"ABCDE"};C.char *s ; s="ABCDE" ;D.char *s; scanf("%s",s) ;设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下能正确执行并得到有意义的结果的赋值语句是( )。
A.p2=c;B.c=*p1+*p2;C.p1=p2;D.c=*p1*(*p2);已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是( )。
A.*p=max(a,b);B.*p=max;C.p=max;D.p=max(a,b);以下正确的叙述是( )。
A.C语言允许main函数带形参,且形参个数和形参名均可由用户指定B.当main函数带有形参时,传给形参的值只能从命令行中得到C.若有说明: int main(int argc,char **argv),则argc的值必须大于1D.C语言允许main函数带形参,形参名只能是argc和argv若有定义:int (*p)[4];则标识符p( )。
A.是一个指针数组名B.定义不合法C.是一个指向整型变量的指针D.是一个指针,它指向一个含有四个整型元素的一维数组设有程序段:char s[ ]="china"; char *p ; p=s ;则下面叙述正确的是()。
语言上机题库百科园第章南信大
第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){ int i;for(i=0; i<3; i++)switch(i){ case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);}}执行后输出结果是A.011122B.120C.012020D.0123.对 for(表达式1; ;表达式3) 可理解为()。
A.for(表达式1;1;表达式3)B.for(表达式1;0;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;) printf("%d",i--);A.0次B.1次C.无限次D.2次5.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
A.p的值等于12345并且n的值大于等于3B.p的值不等于12345并且n的值小于3C.p的值不等于12345或者n的值小于3D.p的值等于12345或者n的值大于等于36.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
A.do-while 循环中,根据情况可以省略 whileB.由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句C.do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号D.在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作7.执行语句 for(i=1;i++<4;); 后变量 i 的值是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章单选有以下程序,程序运行后的输出结果是( )#include<stdio.h>int fun (int x,int y){ if (x!=y) return ((x+y)/2);else return (x);}int main(){ int a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));return 0;}A.12B.6C.3D.8有以下程序,程序运行的输出结果( ) #include <stdio.h>int f(int x);int main(){ int n=1,m;m=f(f(f(n))); printf(“%d\n”,m);return 0 ;}int f(int x){ return x*2;}A.8B.4C.1D.2有以下程序,程序执行后变量w中的值是( ) #include<stdio.h>int funl(double a){return a*=a;}int fun2(double x,double y){ double a=0,b=0;a=funl(x);b=funl(y);return (int)(a+b);}int main(){double w;w=fun2(1.1,2.0);……}B.0.0C.5.0D.5有以下程序,程序运行后的输出结果是()#include<stdio.h>int fun(){ static int x=1;x*=2;return x;}int main(){ int i,s=1;for(i=1;i<=3;i++) s*=fun();printf("%d\n",s);}A.10B.64C.0D.30有以下程序,程序运行后的输出结果是()#include<stdio.h>int f(int x,int y){return ((y-x)*x);}int main(){ int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}A.10B.8C.7D.9有以下程序,程序运行后的输出结果是()#include <stdio.h>void fun(int p){ int d=2; p=d++; printf(“%d”,p); } int main(){ int a=1;fun(a); printf(“%d\n”,a);return 0;}A.22B.21C.12D.32有以下程序:程序运行后的输出结果是( )#include <stdio.h>int f(){ static int x=1;x+=1; return x;}int main(){ int i,s=1;for(i=1;i<=5;i++) s+=fun();printf("%d\n",s);return 0;}A.21B.6C.120D.11 若有代数式||x x e n (其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C 语言表达式是( )A.sqrt(fabs(pow(n,x)+exp(x,e)))B.sqrt(fbs(pow(n,x)+pow(x,e)))C.sqrt(fabs(pow(x,n)+exp(x)))D.sqrt(abs(n x +e x ))以下关于return 语句叙述中正确的是( )A.定义void 类型的函数中可以有带返回值的return 语句B.没有return 语句的自定义函数在执行结束时不能返回到调用处C.一个自定义函数中必须有一条return 语句D.一个自定义函数中可以根据不同情况设置多条return 语句设有如下函数定义,若执行调用语句:n=fun(3);,则函数fun 总共被调用的次数是( )int fun(int k){ if (k<1) return 0;else if(k==1) return 1;else return fun(k-1)+1;}A.2B.3C.5D.4在一个C 语言源程序文件中所定义的全局变量,其作用域为( )A.所在函数的全部范围B.所在文件的全部范围C.由具体定义位置和extern 说明来决定范围D.所在程序的全部范围以下叙述正确的是( )A.C 语言函数可以嵌套调用,例如:fun(fun(x))B.C 语言程序是由过程和函数组成的C.C 语言函数不可以单独编译D.C 语言中除了main 函数,其他函数不可以作为单独文件形式存在以下程序的主函数中调用了在其前面定义的fun 函数,则以下选项中错误的fun 函数首部是 ( )#include<stdio.h>int main(){double a[15],k;k=fun(a);return 0;}A.double fun(double *a)B.double fun(double a)C.double fun(double a[])D.double fun(double a[15])以下说法不正确的是()A.系统不允许用户重新定义标准库函数B.标准库函数按分类在不同的头文件中声明C.用户可以重新定义标准库函数D.用户若需要调用标准库函数,调用前必须使用预编译命令将该函数所在文件包括到用户源文件中下列叙述中正确的是()A.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B.main可作为用户标识符,用以命名任意一个函数作为主函数C.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行D.C语言程序将从源程序中第一个函数开始执行若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()A.同名的实参和形参占同一存储单元B.函数的形参和实参分别占用不同的存储单元C.函数的实参和其对应的形参共占同一存储单元D.形参只是形式上的存在,不占用具体存储单元在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
A.extern和registerB.auto和registerC.static和registerD.auto和static设函数中有整形变量n,为保证其在未赋初值的情况下初值为0,应该选择的存储类别是()A.registerB.autoC.auto 或registerD.static以下正确的函数定义形式是:()A.double fun(int x,int y){}B.double fun(int x, y);{}C.double fun(int x ;int y){}D.double fun(int x,int y);{}在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则()A.称为函数的循环调用B.C语言中不允许这样的递归调用C.称为函数的间接递归调用D.称为函数的直接递归调用程序设计/*请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
例如,输入17,则应输出4 6 8 9 10 12 14 15 16。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序: */#include<conio.h>#include<stdio.h>#include<stdlib.h>int fun(int m, int xx[]){/***************Begin************//*************** End ************/}int main(){FILE *wf;int m, n, zz[100];printf("\nPlease enter an integer number between 10 and 100: ");scanf("%d",&n);m=fun(n,zz);printf("\n\nThere are %d non-prime numbers less than %d: ",m,n);for(n=0;n<m;n++)printf("%4d\n",zz[n]);wf=fopen("debug\\out.dat","w");m=fun(21,zz);for(n=0;n<m;n++)fprintf(wf,"%d\n",zz[n]);fclose(wf);return 0;}【参考代码】int i,k,j=0;for(i=2;i<m;i++){for(k=2;k<i;k++)if(i%k==0) break;if(k<i) xx[j++]=i;}return j;程序改错/*下列给定程序中,函数fun的功能是:将十进制正整数m转换成(29)k k≤≤进制数,并按位输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:*/#include <stdio.h>#include <conio.h>/**********ERROR**********/void fun(int m,int k);{ int aa[20], i;for(i=0;m;i++){/**********ERROR**********/aa[i]=m/k;m/=k;}for(;i;i--)/**********ERROR**********/printf("%d",aa[i]);}int main(){int b,n;printf("\nPlease enter a number and a base:\n");scanf("%d%d",&n,&b);fun(n,b);printf("\n ");return 0;}【参考答案】void fun(int m, int k)【参考答案】aa[i]=m%k;【参考答案】printf("%d", aa[i-1]);如当n的值为20时,该数列为3,8,13,18,23,28,…,93,98。