c语言程序设计试卷大汇总及答案(编辑修改稿)内容摘要:

2若有下面的程序段: char s[] =china。 char *p。 p=s。 则下列叙述正确的是。 A) s和 p完全相同 B)数组 s中的内容和指针变量 p中的内容相等 C) s数组长度和 p所指向的字符串长度相等 D) *p与 s[ 0]相等 2有以下程序 void sort( int a[] ,int n) 78 {int i,j,t。 for( i=0。 in1。 i++) for( j=i+1。 jn。 j++) if( a[ i] a[ j]) {t=a[ i]。 a[ i] =a[ j]。 a[ j] =t。 } } main() {int aa[ 10] ={1,2,3,4,5,6,7,8,9,10},i。 sort( amp。 aa[ 3] ,5)。 for( i=0。 i10。 i++) printf( %d,aa[ i])。 printf( \ n)。 } 程序运行后的输出结果是。 A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6,5,4,3,2,1, C) 1,2,3,8,7,6,5,4,9,10, D) 1,2,10,9,8,7,6,5,4,3, 以下程序的运行结果是。 include main() {struct date {int year,month,day。 }today。 printf( %d\ n,sizeof( struct date))。 } A) 6 B) 8 C) 10 D) 12 3若有语句 int *point, a=4。 和 point=amp。 a。 下面均代表地址的一组选项是。 A) a,point,*amp。 a B) amp。 *a,amp。 a,*point C) *amp。 point,*point,amp。 a D) amp。 a,amp。 *point,point 3已定义以下函数 fun( char *p2, char *p1) { while(( *p2=*p1) !=39。 \ 039。 ) {p1++。 p2++。 } } 函数的功能是。 A)将 p1所指字符串复制到 p2所指内存空间 B)将 p1所指字符串的地址赋给指针 p2 C)对 p1和 p2两个指针所指字符串进行比较 D)检查 p1和 p2两个指针所指字符串中是否有 39。 \ 039。 3若执行下述程序时,若从键盘输入 6和 8时,结果为。 main() {int a,b,s。 scanf( %d%d,amp。 a,amp。 b)。 s=a if( ab) s=b。 s*=s。 printf( %d,s)。 79 } A) 36 B) 64 C) 48 D)以上都不对 3下列关于 C语言数据文件的叙述中正确的是。 A)文件由 ASCII码字符序列组成, C语言只能读写文本文件 B)文件由二进制数据序列组成, C语言只能读写二进制文件 C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D)文件由数据流形式组成,可按数据的存放 形式分为二进制文件和文本文件 3有以下程序 void ss( char *s,char t) {while( *s) {if( *s= =t) *s=t 39。 a39。 + 39。 A39。 s++。 } } main() {char str1[ 100] =abcddfefdbd,c=39。 d39。 ss( str1,c)。 printf( %s\ n,str1)。 } 程序运行后的输出结果是。 A) ABCDDEFEDBD B) abcDDfefDbD C) abcAAfefAbA D) Abcddfefdbd 二、填空题,答案不写入答题栏的一律不得分。 (每空 2分,共 30分) 3以下程序段的输出结果是。 main() {int a=2, b= 3, c=4。 a*=16+( b++) ( ++c)。 printf( %d,a)。 } 37~3若变量 n中的值为 24,则 print()函数共输出 行,最后一行有 个数。 void print ( int n,int aa[]) {int i。 for ( i=1。 in+1。 i++) {printf ( %6d, aa[ i]); if( !( i%5)) printf ( \ n)。 } printf ( \ n); } 3调用 C语标准库函数时要求用 命令。 stract函数的作用是。 4 C语言程序的注释可以出现在程序中的任何地方,一个注释以 作为开始和结束。 80 4设二进制数 A是 00101101,若想通过异或运算 A^B使 A的高 4位取反,低 4位不变,则二进制数 B应是。 4若已知 a=10, b=20,则表达式 !ab的值为。 4设 i, j, k均为 int型变量,则执行完下面的 for语句后, k的值为。 for( i=0, j=10。 i=j。 i++, j) k=i+j。 45~4下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。 数组元素中的值已在主函数中赋予。 主函数中 x是数组名, n是 x中的数据个数, max存放最大值, index存放最大值所在元素的下标。 randomize()是初始化随机数生成器函数, rand()返回一个随机数函数。 请填空。 include include void fun( int a[] ,int n, int *max, int *d) { int i。 *max=a[ 0]。 *d=0。 for( i=0。 i++) if( *max ) {*max=a[ i]。 *d=i。 } } main() { int i, x[ 20] , max, index, n=10。 randomize()。 for( i=0。 in。 i++) { x[ i] =rand() %50。 printf( %4d,x[ i])。 } printf( \ n)。 fun( x,n,amp。 max,amp。 index)。 printf( Max=%5d,Index=%4d\ n, max, index)。 } 4以下程序的输出结果是。 void fun() { static int a=0。 a+=2。 printf( %d,a)。 } main() { int cc。 for( cc=1。 cc4。 cc++) fun()。 printf( \ n)。 } 4以下程序的输出结果是。 81 define MAX( x,y)( x) ( y) ?( x) :( y) main() { int a=5,b=2,c=3,d=3,t。 t=MAX( a+b,c+d) *10。 printf( %d\ n,t)。 } 4下列 y的值是。 int y。 y=sizeof( *4)。 50、 mystrlen函数的功能是计算 str所指字符串的长度 ,并作为函数值返回。 请填空。 int mystrlen( char *str) { int i。 for( i=0。 != ′\ 0′。 i++)。 return( i)。 } 三、程序设计题。 要求程序结构清晰,没有逻辑错误,书写工整,无需写出运行结果。 请写在背面并标明题号(第 51题 、第 52题 10分,共 ,按关键步骤评分) 5输入一个 3╳ 3的整数矩阵,求其对角线元素之差。 5有 10个学生,每个学生的数据包括学号( stu_num, 6个字符,如 s00101)、姓名( name, 8个字符)、三门课程的成绩( score[3],实型)及其平均分( avr,实型,初始时不赋值,)。 首先输入这10个学生的数据,然后再计算每个学生 3门课程的平均分,存回 avr中,并输出第 6号学生的所有信息。 C 语言程序设计三 一 单项选择题 (每小题 1分 ,共 10分 ) 4 组用户定义标识符中,全部合 法的一组是( ) A)_total clu_1 sum B)if max turb C)txt REAL 3COM D)int k_2 _001 ( ) include main( ) { int a = 1, b = 2, c = 3。 printf(‚ %d‛ , cba)。 } A) 2 B) 1 C) 0 D) 3 ( ) A) 在 C 语言中, main 函数必须位于文件的开头 B) C 语言每行中只能写一条语句 C) C 语言本身没有输入、输出语句 D) 对一个 C 语言进行编译预处理时,可检查宏定义的语法错误 82 : int a,*pa=amp。 a。 以下 scanf 语句中能正确为变量 a读入数据的是( ) A)scanf(%d,pa)。 B)scanf(%d,a)。 C)scanf(%d,amp。 pa)。 D)scanf(%d,*pa)。 , int c1=1,c2=2,c3。 c3=*c1。 则执行后, c3中的值是( ) A) 0 B) C) 1 D) 2 :‚ a≥ =10 或 a≤ 0‛的 C语言表达式是( ) A) a=10 or a=0 B)a=0|a=10 C)a=10 amp。 amp。 a=0 D)a=10‖ a=0 ,将 4 分别赋给 a、 b、 c、 d,正确的输入是( ) main( ) { int a,b,c,d。 scanf(‚ %d,%d,%d%d‛ ,amp。 a,amp。 b,amp。 c,amp。 d)。 … } A) 1 2 3 4 B)1 2 3, 4 C) 1, 2, 3, 4 D) 1, 2, 3 4 main( ) { int k=0。 while(k=1) k++。 } 则 while 循环执行的次数是( ) A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行 1次 ( ) include main( ) { int a = 5, b = 4, c = 6, d。 printf(‚ %d‛ ,d=ab?(ac?a:c): b)。 } A) 5 B) 4 C) 6 D) 不确定 a 的初始化,其中 不正确 的是( ) A)a[5]= {ABCD} B)a[5]= {39。 A39。 , 39。 B39。 , 39。 C39。 , 39。 D39。 } C)a[5]= D)a[5]= ABCDE 二、填空题(每空 2分,共 32分) [1] 、 [2] 、 [3]。 程序的基本组成单位是 [4]。 [5] 或 [6]。 的规范化指数表示形式是 [7]。 7/2 的结果是 [8]。 表达式 7%2 的结果是 [9]。 83 a[10],则下标最大的数组元素为 [10]。 ,要使递归过程不是无限制进行下去,必须具有 [11]。 语言提供了 [12] 命令用来实现‚文件包含‛的操作。 : char c[ ]={‚ china‛ }。 将字符数组 c中整个字符串一次输出的语句书写格式为 [13]。 43 amp。 amp。 75!0的值为 [14]。 ,可以将变量分为 [15] 和 [16]。 三、计算题(要求写出步骤)(每题 4分,共 8 分) 1. 设 int a=12,求出表达式 a+=a=a*a 运算后 a的值 . 2. 设 a=2,b=3,x=,y= 求算术表达式 (float)(ba)/2+(int)x%(int)y 的值 四、读下列程序,写出程序的运行结果( 4 3=12) 1.已知字符 A的 ACSII 码值为 65,写出以下语句的输出结果 main( ) { char ch=‘ A’。 printf(%c,%d,ch,ch+3)。 }。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。