C语言,沈阳理工大学,考试复习习题
- 格式:doc
- 大小:81.50 KB
- 文档页数:11
山理工c语言复习题C语言是一种广泛使用的计算机编程语言,以其高效和灵活的特点在软件开发、系统编程等领域有着重要的地位。
以下是一些山理工C语言复习题,供同学们复习使用:一、选择题1. C语言中,以下哪个关键字用于定义一个函数?- A. int- B. if- C. while- D. void2. 以下哪个是C语言中的合法变量名?- A. 2variable- B. variable-name- C. variable#name- D. variable_name3. 在C语言中,哪个运算符用于求两个数的余数?- A. %- B. /- C. *- D. -4. 以下哪个语句可以用来实现循环结构?- A. if- B. switch- C. for- D. do-while5. 在C语言中,以下哪个函数用于将整数转换为字符串?- A. atoi- B. itoa- C. toupper- D. strcpy二、填空题1. C语言中,一个基本的数据类型包括_______、_______、_______等。
2. 定义一个整型变量的关键字是_______。
3. 在C语言中,数组的下标从_______开始。
4. 函数的返回值类型定义在函数名的_______。
5. 字符串在C语言中以_______字符结尾。
三、简答题1. 简述C语言中指针的概念及其作用。
2. 解释C语言中结构体(struct)的用途和定义方法。
3. 描述C语言中函数的调用过程和参数传递方式。
四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和、差、积、商。
2. 编写一个函数,该函数接受一个字符串作为参数,返回字符串中字符的数量。
3. 编写一个程序,使用数组存储10个学生的分数,并计算平均分。
希望这些复习题能够帮助同学们更好地掌握C语言的基本知识和编程技巧。
在复习过程中,不仅要理解每个概念,还要通过实践来加深理解。
祝同学们学习进步!。
1 绪论沈阳理工大学应用技术学院信息与控制学院计算机科学与技术教研室2011-5-8数据结构复习题:绪论单选题1、在数据结构中,与所使用的计算机无关的数据叫_____结构。
A存储|B物理|C逻辑|D物理和存储2、在数据结构中,从逻辑上可以把数据结构分成______。
A动态结构和静态结构|B紧凑结构和非紧凑结构|C线性结构和非线性结构|D内部结构和外部结构图3、数据结构在计算机内存中的表示是指_______。
数据的存储结构|数据结构|数据的逻辑结构|数据元素之间的关系4、在数据结构中,与所使用的计算机无关的是数据的______结构。
逻辑|存储|逻辑和存储|物理5、在以下的叙述中,正确的是_____。
线性表的线性存储结构优于链表存储结构|二维数组是其数据元素为线性表的线性表|栈的操作方式是先进先出|队列的操作方式是先进后出6、在决定选取何种存储结构时,一般不考虑_______。
各结点的值如何|结束个数的多少|对数据有哪些运算|所用编程语言实现这种结构是否方便7、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_______。
数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法8、下面说法错误的是_______。
(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界(4)同一个算法,实现语句的级别越高,执行效率越低(1)|(1)、(2)|(1)、(4)|(3)9、通常要求同一逻辑结构中的所有数据元素具有相同的特性。
这意味着______。
数据元素具有同一特点|不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致|每个数据元素都一样|数据元素所包含的数据项的个数要相等10、以下说法正确的是_______。
数据元素是数据的最小单位|数据项是数据的基本单位|数据结构是带结构的数据项的集合|一些表面上很不相同的数据可以有相同的逻辑结构11、____是数据的最小单元,_____是数据的基本单位.数据项|数据元素|信息项|表元素12、数据结构是指_____以及它们之间的_____.(1)数据元素(2)结构|(1)计算方法(2)关系|(1)逻辑存储(2)运算|(1)数据映像(2)算法13、计算机所处理的数据一般具备某种内在的关系,这是的指_____.数据和数据之间存在的某种关系|元素和元素之间存在某种关系|元素内部具有某种结构|数据项和数据项之间存在某种关系14、数据的逻辑结构可以分为_____两类.动态结构和表态结构|紧凑结构和非紧凑结构|线性结构和非线性结构|内部结构和外部结构15、数据的逻辑结构是指_____关系的整体.数据元素之间逻辑|数据项之间逻辑|数据类型之间|存储结构之间16、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_____.数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法17、在数据的存储结构中,一个存储结点存储一个_____.数据项|数据元素|数据结构|数据类型18、在计算机的存储器中表示时,物理地址和逻辑地址直接对应并且是连续的,称之为_____.逻辑结构|顺序存储结构|链式存储结构|以上都对19、数据采用链式存储结构时,要求_____.每个结点用占一片连续的存储区域|所有结点占用一片连续的存储区域|结点的最后一个数据域是指针类型|每个结点有多少个后继,就设多少个指针域20、数据的运算_____.效率与采用何种存储结构有关|是根据存储结构来定义的|有算术运算和关系运算两大类|必须用程序设计语言来描述21、下列说法中,不正确的是_____.数据元素是数据的基本单位|数据项是数据中不可分割的最小可标识单位|数据可由若干个数据元素构成|数据项可由若干个数据元素构成22、_____不是算法的基本特性.可行性|长度有限|在规定的时间内完成|确定性23、计算机中算法指的是解决某一问题的有限运算序列,它必须具备输入、输出、_____.可行性、可移植性和可扩充性|可行性、有穷性和确定性|确定性、有穷性和稳定性|易读性、稳定性和确定性24、以下不属于算法特性的是_____.可行性|有输入|确定性|健壮性25、下面关于算法的说法正确的是_____.算法最终必须由程序实现|算法的有穷性是对于任意的一组输入值必须在有穷步骤后结束|算法的可行性是指指令不能有二义性|以上几个都是错误的26、算法的时间复杂度与______有关问题规模|计算机硬件性能|编译程序质量|程序设计语言27、算法分析的主要任务是分析_____.算法是否具有较好的可读性|算法中是否存在语法错误|算法的功能是否符合设计要求|算法的执行时间和问题规模之间的关系28、某算法的时间复杂度为O(n2),表明该算法的_____.问题规模是n2|执行时间等于n2|执行时间与n2成正比|问题规模与n2成正比29、算法分析的目的是_____.找出数据结构的合理性|研究算法中输入和输出关系|分析算法的效率以求改进|分析算法的易读性和文档性30、线性表是具有n个______的有限序列。
沈阳理工大学硕士研究生入学考试自命题考试大纲科目代码:828 科目名称:C语言程序设计适用专业:085400电子信息(信息科学与工程学院)一、考试基本内容(一)C语言概述(1)C语言简介及C程序设计过程(2)简单C程序介绍及C程序的上机步骤(二)算法(1)算法的概念及算法的表示方法(2)算法的特点及算法设计的要求(三)基本数据类型及数据的输入输出(1)标识符、常量和变量(2)C语言基本数据类型(3)数据的输入与输出(四)运算符与表达式(1)C语言的各种运算符及其表达式的用法(五)C语句及其程序设计(1)选择结构程序设计(2)选择结构程序设计(3)循环结构程序设计(六)数组(1)一维、二维数组的应用(2)字符数组的应用(七)函数(1)函数的定义、调用和参数传递(2)函数的嵌套调用与递归调用(3)变量的作用域和变量的存储属性(八)编译预处理命令(1)宏定义命令(2)文件包含及条件编译命令(九)指针(1)指针与指针变量的概念、指针与函数(2)指针与数组(3)字符串与指针(十)结构体类型(1)结构体变量及结构体数组的使用(2)结构体指针及链表的操作(十一)共用体与枚举类型(1)共用体类型变量的定义及应用(2)枚举类型变量的定义及应用、用typedef定义类型(十二)文件(1)文件有关的基本概念、文件类型指针;(2)文件打开与关闭、文件读写,文件定位操作的实现。
二、考试要求(一)了解C语言程序的概貌,掌握C程序的上机步骤。
(二)了解算法的概念,掌握算法的设计方法,掌握计算机算法的自然语言表示法、流程图表示法和N-S图表示法。
(三)了解C标识符、常量和变量的概念,掌握C标识符的命名规则,掌握变量的定义和初始化方法;了解C语言的各种数据类型,掌握C语言的基本数据类型的表示方法,掌握C语言数据的输入与输出函数的使用方法;了解数据的输入与输出的概念,掌握C语言数据的各种输入与输出函数的使用方法。
(四)了解C运算符与表达式的概念,掌握各种C运算符及其表达式的使用,掌握各种运算符的优先级和结合性。
大学生C语言期末考试试题汇总第1-3章习题一、单项挑选题1C语言属于()。
A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。
A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?A.编辑?编译B.编译?衔接C.编辑?改错D.编辑?衔接4C语言程序从开头执行。
A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。
A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。
A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f 值的数据类型。
A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。
A.均为一个字节B.由用户自己定义C.由变量的类型打算D.是随意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。
A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。
A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。
A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。
A.0B.3C.2D.113C语言中运算对象必需是整型的运算符是。
A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。
6.1:求出1—100之间的素数,并以每行打印5个输出,当求得素数的个数超过20个时,不再计算。
6.1: # include <math.h>main()( int i,j,k,n=0;for(i=l;i<=100;i++)( k=sqrt(i);for(j=2;j<=k;j++) if(i%j==0) break;if(j>=k+l) { printf( "%3d” ,i);n++;if(n%5==0)printf( "\n” );if(n>=20) break;}}} 6.3:打印形状为直角三角形的九九表。
12 43 6 948 12 169 18 27 (81)数组} *6.3: #include <stdio.h>main()(血i,j;for(i=l;i<10;i++)( for(j=l;j<=i;j++)printf( "%4d”,i*j);printf( "\n” );}}6.2:键盘上输入两个正整数,分别赋给变量a和b,计算从a的值到b的值之间的所有整数之和,并输出结果。
5+6+7+8+9=356.2: #include <stdio.h>main(){ int a,b,sum;scanf( “%d%d" ,&a,&b);if(a>b) ( t=a;a=b;b=t;}for(sum=0;a<=b;a++)( sum+=a;printf( "%d+” ,a);}printf( "\b=%d\n" ,sum);7.1:从键盘输入10个不为零的整数,将它们按正负数分开后,分别按从小到大的顺序打印出来。
7.1: #include <stdio.h>main()( int i,j,t,m=0,a[10];for(i=0;i<10;i++)scanf( "%d”,&a[i]);printf( "\n");for(i=0;i<9;i++)for(j=0;j<9-i;j++) if(aU]>a[j+l])(t=aU];a[j]=aU+l];a|j+l]=t;}for(i=0;i<10;i++)if(a[i]<0) ( printf( "%4d”,a[i]);m++; }printf( "\n");for(i=m;i<10;i++)printf( "%4d”,a[i]);8.2:用起泡法对10个数排序。
C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}} 该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。
2022年沈阳理工大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;2、C语言源程序的基本单位是________3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。
5、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。
6、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。
7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、字符串"ab\n\\012\\\"”的长度是_______。
9、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
10、下面程序可求出图中方括号内的元素之积,请填空。
# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}二、选择题11、设以下变量均为int类型,则值不等于7的表达式是( )。
A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)12、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )A.7B.8C.6D.213、一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序main函数结束14、C语言规定:在一个源程序中,main函数的位置( )A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后15、若有初始化语句:int a[3][4]={0};,则下面正确的叙述是()。
2022年沈阳理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下述文件中适合于磁带存储的是()。
A.顺序文件B.索引文件C.哈希文件D.多关键字文件2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。
A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、链表不具有的特点是()。
A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。
A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、下列叙述中,不符合m阶B树定义要求的是()。
A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接7、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。
假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。
初始时为空,下列判断队空和队满的条件中,正确的是()。
A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)8、在下述结论中,正确的有()。
沈阳理工大学c语言考研题库沈阳理工大学C语言考研题库沈阳理工大学是中国辽宁省的一所重点大学,以其在工程技术领域的卓越表现而闻名。
作为一所综合性大学,沈阳理工大学也注重培养学生的编程能力,其中C语言是必修课程之一。
为了帮助学生更好地准备C语言考研,沈阳理工大学建立了一套完整的C语言考研题库。
C语言作为一种通用的编程语言,被广泛应用于软件开发、嵌入式系统以及科学计算等领域。
掌握C语言的基本语法和编程思想对于计算机专业的学生来说至关重要。
因此,沈阳理工大学的C语言考研题库旨在帮助学生巩固所学知识,提高编程能力。
该题库涵盖了C语言的各个方面,包括基本语法、数据类型、运算符、控制语句、函数、指针、数组、结构体等。
每个知识点都有相应的练习题和编程题,学生可以通过解答这些题目来检验自己的理解和掌握程度。
此外,题库还提供了详细的解答和解析,帮助学生理解每个题目的解题思路和方法。
在C语言考研题库中,除了基础知识的练习题外,还有一些综合性的编程题。
这些题目旨在考察学生对多个知识点的综合运用能力。
例如,一个常见的综合性题目是要求学生编写一个简单的学生成绩管理系统,包括录入学生信息、计算平均成绩、查找最高分等功能。
通过解答这些综合性题目,学生可以提高自己的编程思维能力和实际应用能力。
除了题目本身,沈阳理工大学的C语言考研题库还提供了一些学习资源和辅助材料。
例如,学生可以通过题库中的链接访问相关的教学视频和教材,加深对知识点的理解。
此外,题库还提供了一些常见错误和易错点的解析,帮助学生避免犯同样的错误。
对于准备参加C语言考研的学生来说,沈阳理工大学的题库是一个宝贵的学习资源。
通过反复练习和解答题目,学生可以提高自己的编程能力和解题技巧。
同时,题库中提供的解析和辅助材料也能帮助学生更好地理解和掌握C语言的知识。
总之,沈阳理工大学的C语言考研题库为学生提供了一个系统、全面的学习平台。
通过使用这个题库,学生可以更好地准备C语言考研,提高自己的编程能力。
C语言程序设计试题集及其答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
最新c语言程序设计专升本考试题库大全c语言程序设计专升本考试题库篇一1).若变量已正确定义并赋值,以下符合c语言语法的表达式是a.a:=b+1b.a=b=c+218.5%3d.a=a+7=c+b正确答案:b答案解析:选项a中包含一个不合法的运算符":=";选项c应改为(int)18.5%3;选项d可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为c语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项b,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。
2).结构化程序设计的基本原则不包括()a.多元性b.自顶向下c.模块化d.逐步求精正确答案:a答案解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用goto语句,其中不包括多态性。
3).下面选项中关于位运算的叙述正确的是()a.位运算符都需要两个操作数b.左移运算的结果总是原操作数据2倍c.右移运算时,高位总是补0d.位运算的对象只能是整型或字符型数据正确答案:d答案解析:位运算则是以位(bit)一级进行的运算,位运算符中除″~″以外,均为二元运算符,即要求两侧各有一个运算量,运算量只能是整型或字符型的数据,不能为实型数据。
其中右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1、而左移运算在没有溢出的前提下每移动一位,相当于原数据的2倍。
4). 定义无符号整数类为uint,下面可以作为类uint实例化值的是( )a.-369b.369c.0.369d.整数集合{1,2,3,4,5}正确答案:b答案解析:uint表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项a和选项c,选项d是整数集合,所以也排除。
5).下列关于类、对象、属性和方法的叙述中,错误的是()。
2011年期末考试C语言复习题——沈阳工程学院一、单项选择(每题2分,共20分)1、下列 C 数据类型属于C语言提供的基本数据类型。
A、数组类型B、指针类型C、整型D、结构体类型2、C语言程序中,下列 B 标识符是合法。
A、scanfB、str 2C、5aD、His.age3、已知int a ,b;scanf(“%d%d”,&a,&b);程序运行输入a、b的值时,不能作为输入数据分隔符的是 A 。
A、逗号B、空格C、回车D、[Tab]4、C语言对嵌套IF语句的规定是:else总是和 D 配对。
A、其之前最近的IFB、第一个IFC、缩进位置相同的IFD、其前面最近且尚未配对的IF5、下面语句 A 是定义一个有10个INT整型元素的数组。
A、int a[10]B、int a[2,5]C、int a[]D、int *a[10]6、已知char ch[]=”welcome”;printf(“%d”,strlen(ch));输出结果是 B 。
A、6B、7C、8D、97、Fwirte函数的一般调用形式是 D 。
A、fwirte (buffer, count, size, fp) ;B、fwrite (fp, size, count, buffer) ;C、fwrite (fp, count, size, buffer );D、fwrite (buffer, size, count, fp) ;8、设int a=2,b;则执行b=a&&1;语句后,b的结果是 b 。
A、0B、1C、2D、39、在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是 d 。
A、intB、charC、unsignedD、long10、下面程序段的运行结果是 b 。
main ( ){int a=11,b=10,c=0;a/=b+(b&&c);a=a/bprintf(″%d\n″a);}A、0B、1C、1.1D、1111、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是 C 。
目录目录 (1)单元练习题一C语言基础知识 (3)一、判断题 (3)二、单项选择题 (4)三、读程序选择题 (7)四、程序填空题 (8)五、编程题 (10)单元练习题二C语言程序结构 (10)一、判断题 (10)二、单项选择题 (11)三、读程序选择题 (18)四、程序填空题 (30)五、编程题 (35)单元练习题三数组 (36)一、判断题 (36)二、单项选择题 (37)三、读程序选择题 (39)四、程序填空题 (43)五、编程题 (49)单元练习题四函数 (49)二、单项选择题 (50)三、读程序选择题 (52)四、程序填空题 (60)五、编程题 (63)单元练习题五预处理 (63)一、判断题 (63)二、单项选择题 (64)三、读程序选择题 (64)四、程序填空题 (65)五、编程题 (65)单元练习题六指针 (66)一、判断题 (66)二、单项选择题 (66)三、读程序选择题 (67)四、程序填空题 (74)五、编程题 (77)单元练习题七结构体与共用体 (78)一、判断题 (78)二、单项选择题 (78)三、读程序选择题 (79)四、程序填空题 (83)单元练习题八文件 (84)一、判断题 (84)二、单项选择题 (84)三、读程序选择题 (84)四、程序填空题 (85)五、编程题 (87)第一章C语言基础知识(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题(正确的填A,错误的填B)R1.在C语言中,逗号运算符的优先级最低。
(A)2.在C语言可执行程序的开始执行点是程序中第一个函数。
(B)3.“5ch”是合法的变量名。
(B)4.C语言程序书写格式自由,一行可以写几个语句,一个语句可以分写在多行上。
(A)5.当输入数据时,必须指明变量的地址,如scanf("%f",&f) (A)N6.表达式i++与++i在任何场合功能完全相同。
(B)7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
辽宁专升本c语言真题及答案解析答案一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分)1、以下关于C语言标识符的描述中,正确的是【】。
[单选题] *A)标识符可以由汉字组成B)标识符只能以字母开头C)关键字可以作为用户标识符D)Area与area是不同的标识符(正确答案)2、以下不正确的C语言标识符是 ( ) [单选题] *A、 ABCB、 abcC、 a_bcD、 ab.c(正确答案)3、判断char类型的变量c1是否为数字字符的正确表达式为【】。
[单选题] *A) (c1>=0)&&(c1<=9)B) (c1>=’0’)&&(c1<=’9’)(正确答案)C) ’0’<=c1<=’9’D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。
[单选题] *A)’a’&&’b’B)a<=bC)((a>b)||(b<c)D)(!(a+b)==c&&a)(正确答案)5、已知:int a[2][3]; 则对数组元素的非法引用是【】 [单选题] *A. *(a[0]+2)B. a[1][3](正确答案)C . a[1][0]D. *(*(a+1)+2)6、在循环语句的循环体中执行break语句,其作用是【】。
[单选题] *A)跳出该循环体,提前结束循环(正确答案)B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。
[单选题] *A)10B)9C)0(正确答案)D)18、若有int *p1, *p2,k; 不正确的语句是【】 [单选题] *A. p1=&kB. p2=p1C. *p1=k+12D. k=p1+p2(正确答案)9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 [单选题] *A. 静态(static)B. 外部(extern)C. 自动(auto)(正确答案)D. 寄存器(register)10、如下程序的输出结果是【】main( ){ int x=2,a=0,b=0;switch(x){ case 2: a++; b++;case 1: ++a; b--; break;case 0: b++;}printf("a=%d, b=%d\n", a, b);} [单选题] *A. a=2, b=0(正确答案)B. a=2, b=1C. a=1, b=1D. a=1, b=011、表示关系a<b<=c的C语言表达式为【】 [单选题] *A. (a<b)&&(b<=c)(正确答案)B. (a<b)AND(b<=c)C. (a<b<=c)D. (a<b)&(b<=c)12、有以下程序#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x); }程序运行时,输入的值在哪个范围才会有输出结果。
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
大学C语言期末考试题及答案东北大学C语言期末考试题及答案(1)1、构成C语言的基本单位是___B____。
过程函数语句命令2、设x为整型变量,不能正确表达数学关系:55 switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; }printf("a=%d,b=%d",a,b); } a=1,b=1a=2,b=1a=1,b=0a=2,b=2 7、执行下面程序段的结果是__D___。
int x=0; do { printf〔“%2d〞,x--〕; }while〔x〕;打印出321打印出23不打印任何结果陷入死循环8、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___。
If〔x>y〕 if 〔y>z〕x=y; else z=y;76549、如果一个函数被说明为static,那么__B___。
该函数只能被main函数调用该函数能被当前文件的函数调用,但不能被其他文件的函数调用该函数不能被当前文件的函数调用,可以被其他文件的函数调用任何文件的函数都可以调用该函数10、下面关于局部变量的描述中,错误的是__D___。
函数的局部变量的有效范围只能在本函数函数的形式参数也是局部变量局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局部变量11、以下初始化字符数组的语句中,错误的是__A___。
char str[5]="hello";char str[]={'h','e','l','l','o','\0'};char str[5]={"hi"};char str[100]="";12、引用数组元素时,数组下标可以是__D___。
整型常量整型变量整型表达式以上均可13、已知:char str[10],*p=str; 下面的语句中正确的是__B___。
6.1:求出1—100之间的素数,并以每行打印5个输出,当求得素数的个数超过20个时,不再计算。
6.1:# include <math.h>main(){ int i,j,k,n=0;for(i=1;i<=100;i++){ k=sqrt(i);for(j=2;j<=k;j++)if(i%j==0) break;if(j>=k+1) { printf(“%3d”,i);n++;if(n%5==0)printf(“\n”);if(n>=20) break;}}}6.2:键盘上输入两个正整数,分别赋给变量a和b,计算从a的值到b的值之间的所有整数之和,并输出结果。
5+6+7+8+9=35 6.2:#include <stdio.h>main(){ int a,b,sum;scanf(“%d%d”,&a,&b);if(a>b) { t=a;a=b;b=t;}for(sum=0;a<=b;a++){ sum+=a;printf(“%d+”,a);}printf(“\b=%d\n”,sum);} 6.3:打印形状为直角三角形的九九表。
12 43 6 94 8 12 16…9 18 27 (81)数组} *6.3:#include <stdio.h>main(){ int i,j;for(i=1;i<10;i++){ for(j=1;j<=i;j++)printf(“%4d”,i*j);printf(“\n”);}}7.1:从键盘输入10个不为零的整数,将它们按正负数分开后,分别按从小到大的顺序打印出来。
7.1:#include <stdio.h>main(){ int i,j,t,m=0,a[10];for(i=0;i<10;i++)scanf(“%d”,&a[i]);printf(“\n”);for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<10;i++)if(a[i]<0) { printf(“%4d”,a[i]);m++; }printf(“\n”);for(i=m;i<10;i++)printf(“%4d”,a[i]);}8.2:用起泡法对10个数排序。
(用函数实现)8.2:#include <stdio.h>main(){ void sort(int array[],int n);int a[10], m=0,i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);sort(a,10);for(i=0;i<10;i++)if(a[i]<0) { printf(“%4d”,a[i]);m++; }printf(“\n”);for(i=m;i<10;i++)printf(“%4d”,a[i]);}void sort(int array[],int n){ int i,j,k,t;for(i=0;i<n-1;i++){ k=i;for(j=i+1;j<n;j++)if(array[j]<array[k]) k=j;t=array[k];array[k]=array[i];array[i]=t;} 8.3:用选择法对10个数排序。
(用函数实现)8.3:#include <stdio.h>main(){ void sort(int array[],int n);int a[10], m=0,i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);sort(a,10);for(i=0;i<10;i++)if(a[i]<0) { printf(“%4d”,a[i]);m++; }printf(“\n”);for(i=m;i<10;i++)printf(“%4d”,a[i]);}void sort(int array[],int n){ int i,j,t;for(i=0;i<n-1;i++)for(j=0;j<9-i;j++)if(array[j]>array[j+1]){ t=array[j];array[j]=array[j+1];array[j+1]=t; } }}9.1输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
写3个函数:①输入10个数;②进行处理;③输出10个数。
9.1:# include <stdio.h>main(){ void input(int number[10]);void max_min_value(int array[10]);void output(int array[10]);int number[10];input (number);max_min_value(number);output(number);}void input(int number[10]){ int i;for(i=0;i<=9;i++)scanf(“%d”,&number[i]); }void max_min_value(int array[10]){ int *max,*min,*p,*array_end;array_end=array+10;max=min=array;for(p=array+1;p<array_end;p++)if(*p>*max) max=p;else if (*p<*min) min=p;*p=array[0];array[0]=*min;*min=*p;*p=array[9];array[9]=*max;*max=*p;}void output(int array[10]){ int *p;for (p=array;p<=array+9;p++)printf(“%4d”,*p);} 10.1有 10个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,和最高成绩。
10.1:# include <stdio.h>struct student{ char num[6];char name[8];int score[3];float avr;}stu[10];main(){ int i,j,max=0,maxi=0,sum=0;float average=0;for(i=0;i<10;i++){ scanf(“%s%s”,stu[i].num,stu[i].name);for(j=0;j<3;j++)scanf(“%d”,&stu[i].score[j]);}for(i=0;i<10;i++){ sum=0;for(j=0;j<3;j++)sum+=stu[i].score[j];stu[i].avr=sum/3.0;average+=stu[i].avr;if(sum>max) { max=sum; maxi=i; }}average/=10;printf(“average=%6.2f\n”,average);printf(“The highest score is:%s,%s,%d,%f”, stu[maxi].num,stu[maxi].name,max,stu[maxi]. avr);}7.2:* * * * ** * * * ** * * * ** * * * ** * * * *7.2:#include <stdio.h>main(){ char a[5]={‘*’,‘*’,‘*’,‘*’,‘*’};int i,j,k;for(i=0;i<5;i++){ for(j=0;j<i;j++)printf(“%c”,“”);for(k=0;k<5;k++)printf(“%c”,a[k]);printf(“\n”):}}8.1:判断m是否是素数。
(用函数实现)8.1:#include <math.h>main(){ int f(int m);int m,n;scanf(“%d”,&m);n=f(m);if(n) printf(“%d is a prime number\n”,m);else printf(“%d is not a prime number\n”,m);}int f(int m){ int i,k,p;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0) break;if(i>=k+1) p=1;else p=0;return p;}选择结构例5.1 输入两个实数,按代数值由小到大的顺序输出这两个数。
#include<stdio.h>main(){ float a,b,t;scanf(″%f,%f″,&a,&b);if(a>b){ t=a;a=b;b=t;}printf(″%5.2f,%5.2f\n″,a,b);}例5.2 输入三个数,找出其中最大的数。
main(){ int a,b,c,t;scanf(“%d%d%d”,&a,&b,&c);if(a>b) t=a;else t=b;if(t<c) t=c;printf(“max=%d”,t);}循环结构例6.6 判断m是否素数。
#include <stdio.h>#include <math.h>main(){int m,i,k;scanf(″%d″,&m);k=sqrt(m);for (i=2;i<=k;i++)if(m%i==0) break;if(i>=k+1) printf("%d is a prime number\n″,m);else printf("%d is not a prime number\n″,m);}例6.7 求100~200间的全部素数。
#include <stdio.h>#include <math.h>main(){ int i,j,k,n=0;for(i=101;i<=200;i=i+2){ k=sqrt(i);for (j=2;j<=k;j++)if (i%j==0) break;if (j>=k+1){ printf(″%d ″,i);n=n+1;}if(n%10==0) printf(″\n″);}printf (″\n″);}例6.8 编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。