C语言上机题库百科园第八章!南信大!

合集下载

C语言上机题库百科园!南信大!

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 ;则下面叙述正确的是()。

百科园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语言上机题库百科园第优选章南信大

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语言题库 -回复

百科园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语言分章节练习

C语言分章节练习

第一章 C语言概述1.1选择题【题1.1】以下不是C语言的特点的是( B )A.C语言简洁、紧凑B.能够编制出功能复杂的程序C. C 语言可以直接对硬件进行操作 D.C语言移植性好【题1.2】以下不正确的C语言标识符是( D )。

A.ABC B.abc C.a_bc D.ab.c【题1.3】以下正确的c语言标识符是( C )。

A.%x B.a十b C.a123 D.test!【题1.4】一个c程序的执行是从( A ).A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束【题1.5】一个C语言程序是由(B)。

A)一个主程序和若干子程序组成B)函数组成C)若干过程组成 D)若干子程序组成【题1.6】一个c程序是由( B )。

A.一个主程序和若干子程序组成B.一个或多个函数组成C. 若干过程组成 D.若干子程序组成【题1.7】C语言派程序的基本单位是( B )。

A.过程 B.函数 c子程序 D.标识符【题1.8】编辑程序的功能是( A )。

A.建立并修改程序 B.将c源程序编译成目标程序C.调试程序 D.命令计算机执行指定的操作1.2填空题【题1.9】c语言符号集包括【英文字母、数字和一些有待定含义的标点符号】。

【题1.10】一个c程序有且仅有一个【main()】函数。

【题1.11】C程序的基本单位是【函数】。

【题1.12】一个c程序有【1】个main( )函数和【若干】个其他函数。

【题1.13】在一个C源程序中,注释部分两侧的分界符分别是【/*】和【*/】。

【题1.14】结构化设计中的三种基本结构是【顺序结构、分支结构和循环结构】。

【题1.15】在C语言中,输入操作是由库函数【scanf】完成的,输出函数是由库函数【printf】完成的。

1.3编程题【题1.16】编写一个程序,在屏幕上输出你的姓名。

南京信息工程大学C语言题库

南京信息工程大学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若有以下程序段,其输出结果是().int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(”%d,%d,%d\n”a,b,c);A、 3,3,—10B、 0,0,5C、-10,3,-10D、0,0,-10答案:B题号:13189以下程序段的输出结果是()。

C语言上机题库百科园南信大

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语言期末上机考试试卷及答案

安徽大学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是否为大写字母。

语言上机题库百科园第章南信大

语言上机题库百科园第章南信大

第三章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语言程序设计》2023-2024学年第一学期期末试卷

南京邮电大学《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语言试题库

第一章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语言上机考试题及答案

大一c语言上机考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. variable-2答案:C2. C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. defD. void答案:D3. C语言中,哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列哪个选项是C语言中正确的字符串定义?A. char str[] = "Moonshot";B. char str[] = {"Moonshot"};C. char str[] = 'Moonshot';D. char str[] = "Moonshot'';答案:A5. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. ==D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:int _______;。

答案:变量名2. 在C语言中,使用________运算符可以将字符串连接起来。

答案:+3. C语言中,________关键字用于定义一个结构体。

答案:struct4. 使用________函数可以输出格式化的字符串。

答案:printf5. C语言中,________函数用于计算字符串的长度。

答案:strlen三、编程题(每题10分,共60分)1. 编写一个C语言程序,计算并输出100以内所有奇数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("Sum of odd numbers from 1 to 99 is: %d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串反转。

C语言上机题库百科园南信大

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语言上机题库百科园第八章!南信大!

第八章以下叙述中正确的是()若有以下语句typedefstruct S{int g; char h;}T;A.可用T定义结构体变量是struct S类型的变量C.可用S定义结构体变量是struct类型的变量当定义一个结构体变量时,系统分配给它的内存是()。

A.结构体中最后一个成员所需内存量B.成员中占内存量最大的容量C.结构体中第一个成员所需内存量D.各成员所需内存量的总和若有以下定义:struct link{int data;struct link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构,若指针p指向a,指针q指向c。

则能把c插入到a和b之间形成新的链表的语句是()>next=&c;q->next=p->next;q->next=&b;=b;/*N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,它的功能是:求出平均分,由函数值返回。

例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是。

注意:部分源程序给出如下。

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

试题程序:*/#include<>#include<>#define N 8struct sliststruct slist *next;};typedef struct slist STREC;double fun(STREC *h){/***********Begin***************//***********End**************/}STREC *creat(double *s) /*创建链表*/ {STREC *h,*p,*q;int i=0;h=p=( STREC*)malloc(sizeof(STREC));p->s=0;while(i<N){q=( STREC*)malloc(sizeof(STREC));q->s=s[i];i++;p->next=q;p=q;}p->next=0;return h;}outlist(STREC *h){STREC *p;p=h->next;printf("head ");do{printf("->%4.1f ",p->s);p=p->next; /*输出各成绩*/}while(p!=NULL);printf("\n\n");}void main(){FILE *wf;double s[N]={85,76,69,85,91,72,64,87},ave; STREC *h;h=creat(s);ave=fun(h);printf("ave=%6.3f\n ",ave);/******************************/wf=fopen("debug\\","w");fprintf(wf,"%6.3f\n",ave);fclose(wf);/*****************************/}【参考代码】double av=;STREC *p=h->next;/*p直接指向"头节点"的下一个节点,即第一个成绩*/while(p!=NULL){av=av+p->s; /*求总分数*/p=p->next;}return av/N; /*返回平均值*//*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,该函数的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。

南京信息工程大学C语言题库

南京信息工程大学C语言题库

单项选择==================================================题号:13167以下叙述中正确的是()。

A、程序设计的任务就是确定所用算法B、程序设计的任务就是确定所用数据结构C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是()。

A、可执行程序B、源程序C、汇编程序D、目标程序答案:A题号:13171下列叙述中正确的是()。

A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、main可作为用户标识符,用以命名任意一个函数作为主函数v1.0 可编辑可修改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语言上机试题库及答案

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语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。

南信大编译原理考题

南信大编译原理考题

注:加粗表示可能考简答题简答题(每小题5 分,共20 分)论述题(每小题10 分,共20 分)计算(每小题12 分,共60 分)1、编译程序的构成:源程序→词法分析→语法分析→语义分析和优化→目标代码生成第二章文法与语言1、一些概念性的东西(1)推导:句型→句子,自顶向下。

(2)归约:句子→句型,自底向上。

(2)句型:一个文法经过N(N>=1)步推导后得到的结果(含有非终结符号)(3)句子:一个文法经过N(N>=1)步推导后得到的结果(仅含有终结符号)(4)句柄:一个句型的最左简单短语。

(树的最下面)(5)V N:文法的非终结符号集合(6)V T:文法的终结符号集合(7)P:文法的规则的集合(8)S:文法的识别符号或开始符号(9)短语:由树的各个树叶节点组成的符号组,有相对于XX的区别。

(10)简单短语:也叫直接短语,有非终结符一步退出的短语。

2、Chomsky文法分类0型文法:短语结构文法→图灵机(TM,Turing Machine)1型文法(CSG):上下文有关文法→线性界限自动机(LBA,Linear bounded automata)2型文法(CFG):上下文无关文法→下推自动机(PDA,Push Down automata)3型文法(RG):正则文法→有穷状态自动机(FA,Finite automata)文法的判断:3型文法:①左边必须只有一个字符,且必须是非终结符;②其右边最多只能有两个字符,且当有两个字符时必须有一个为终结符而另一个为非终结符。

当右边只有一个字符时,此字符必须为终结符。

③对于3型文法中的所有产生式,其右边有两个字符的产生式,这些产生式右边两个字符中终结符和非终结符的相对位置一定要固定,也就是说如果一个产生式右边的两个字符的排列是:终结符+非终结符,那么所有产生式右边只要有两个字符的,都必须前面是终结符而后面是非终结符。

2型文法:①左边必须有且仅有一个非终结符。

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 的值是()。

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

第八章以下叙述中正确的是()若有以下语句typedefstruct S{int g; char h;}T;A.可用T定义结构体变量B.T是struct S类型的变量C.可用S定义结构体变量D.S是struct类型的变量当定义一个结构体变量时,系统分配给它的内存是()。

A.结构体中最后一个成员所需内存量B.成员中占内存量最大的容量C.结构体中第一个成员所需内存量D.各成员所需内存量的总和若有以下定义:struct link{int data;struct link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构,若指针p指向a,指针q指向c。

则能把c插入到a和b之间形成新的链表的语句是()A.p->next=&c;q->next=p->next;B.p.next=q;q.next=p.next;C.p->next=q; q->next=&b;D.a.next=c; c.next=b;/*N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,它的功能是:求出平均分,由函数值返回。

例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。

注意:部分源程序给出如下。

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

试题程序:*/#include<stdlib.h>#include<stdio.h>#define N 8struct slist{ double s;struct slist *next;};typedef struct slist STREC;double fun(STREC *h){/***********Begin***************//***********End**************/}STREC *creat(double *s) /*创建链表*/{STREC *h,*p,*q;int i=0;h=p=( STREC*)malloc(sizeof(STREC));p->s=0;while(i<N){q=( STREC*)malloc(sizeof(STREC));q->s=s[i];i++;p->next=q;p=q;}p->next=0;return h;}outlist(STREC *h){STREC *p;p=h->next;printf("head ");do{printf("->%4.1f ",p->s);p=p->next; /*输出各成绩*/}while(p!=NULL);printf("\n\n");}void main(){FILE *wf;double s[N]={85,76,69,85,91,72,64,87},ave;STREC *h;h=creat(s);outlist(h);ave=fun(h);printf("ave=%6.3f\n ",ave);/******************************/wf=fopen("debug\\out25.dat","w");fprintf(wf,"%6.3f\n",ave);fclose(wf);/*****************************/}【参考代码】double av=0.0;STREC *p=h->next;/*p直接指向"头节点"的下一个节点,即第一个成绩*/ while(p!=NULL){av=av+p->s; /*求总分数*/p=p->next;}return av/N; /*返回平均值*//*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,该函数的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n 传回,平均分通过函数值返回。

注意:部分源程序给出如下。

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

试题程序: */#include <stdio.h># define N 12typedef struct{ char num[10];double s;} STREC;double fun (STREC *a,STREC *b, int *n){/*************Begin************//*************End*************/}void main(){FILE *wf;STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},{"GA09",60},{"GA11",79},{"GA12",73},{"GA10",90}};STREC h[N],t;int i,j,n;double ave;ave=fun(s,h,&n);printf("The %d student data which is higher than %7.3f:\n",n,ave);for(i=0; i<n; i++)printf("%s %4.1f\n",h[i].num,h[i].s);printf("\n");for(i=0; i<n-1; i++)for(j=i+1;j<n;j++)if(h[i].s<h[j].s){t=h[i];h[i]=h[j];h[j]=t;} /*分数从高到低排列*//******************************/wf=fopen("debug\\out29.dat","w");fprintf(wf, "%d %7.3f\n",n,ave);for(i=0; i<n; i++)fprintf(wf, "%s %4.1f\n",h[i].num,h[i].s);fclose(wf);/*****************************/}【参考代码】int i;double av=0.0;*n=0;for(i=0;i<N;i++)av=av+a[i].s;av=av/N;/*求平均值*/for(i=0;i<N;i++)if(av<=a[i].s){ b[*n]=a[i];*n=*n+1;}/*将高于等于平均分的学生存入b所指存储单元中,并统计人数*/return av;/*返回平均分*//*学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

例如,输入的分数是60和69,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。

主函数中把60放在low中,把69放在heigh中。

注意:部分源程序给出如下。

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

试题程序: */#include <stdio.h>#define N 16typedef struct{ char num[10];int s ;}STREC;int fun (STREC *a, STREC *b, int l, int h ){/************Begin*************//************End************/}void main (){FILE *wf;STREC s[N]={{ "GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",96},{"GA007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",94},{"GA012",64},{"GA014",91},{"GA011",90},{"GA017",64},{"GA018",64},{"GA016",72}};STREC h[N],tt;int i, j,n, low, heigh, t;printf("Enter 2 integer number low & heigh: ");scanf("%d%d",&low,&heigh);if(heigh<low){t=heigh;heigh=low; low=t;}n=fun(s,h,low, heigh);printf("The student 's data between %d--%d:\n ",low, heigh);for(i=0;i<n;i++)printf("%s %4d\n ",h[i].num, h[i].s); /*输出指定分数范围内的学生记录*/printf("\n ");/******************************/n=fun(s,h,80,98);for(i=0;i<n-1;i++) /*分数在80~98之间的学生记录按分数从低到高排列*/for(j=i+1;j<n;j++)if(h[i].s>h[j].s){tt=h[i];h[i]=h[j];h[j]=tt;}wf=fopen("debug\\out26.dat","w");for(i=0;i<n;i++)fprintf(wf, "%s %4d\n",h[i].num, h[i].s);fclose(wf);/*****************************/}【参考代码】int i,j=0;for(i=0;i<N;i++)if(a[i].s>=l&&a[i].s<=h)/*将分数高于l,低于h的学生记录存于结构体数组b中*/b[j++]=a[i];return j;/*返回分数范围内的学生人数*//*某学生的记录由学号、8门课成绩和平均分组成,学号和8门课的成绩已在主函数中给出。

相关文档
最新文档