1、 一、单项选择题1下列字符串不是 C 语言标识符的是 D 。A_above Ball Clong_int D2Line2C 语言中,下列不能用来表示整型常数的进制是 D 。A十进制 B八进制 C十六进制 D二进制3以下选项中,非法的字符常量是 C 。A t B a C “n ” , D xaa4设有语句 int a=3; 则执行了语句 a += a - = a*a ; 后,变量 a 的值是 B 。 A3 B -12 C9 D05若变量 c 为 char 类型,能正确判断出 c 为小写字母的表达式是 B 。A a =a) if (ab) t +=s;else if (a = = b) t=5;e
2、lse t=2*s ;printf( “t= %d, s=%d ”, t, s );3 运行时输入 12,下面程序执行时的输出结果是 0 。void main( ) int x, y;scanf ( “ %d ” , y=x12 ? x+10 : x-12 ;printf (“ %d n ” , y ) ;4下面程序的运行结果是 20101 LiuXiang 88 99 void main( ) struct STU int num;char name10;int score2;STU s12= 20101,“LiuXiang“,88,99,20102,“YaoMing“, 99,88 ;pr
3、intf(“ %d %s %d %d “, s10.num, s10.name, s10.score0, s10.score1 );5下面程序的运行结果是 void main( ) int i, j;for (i=1;ivoid main() int a=0,b=0,c=0;char ch =“12ASD 6xyz # “;char *p=ch ;while ( *p != # ) if ( *p = A int a34=1,2,3,4,9,8,7,6, -10,10,-5,2;m= a00;for(i=0;im )m= aij; printf ( “ m=%d “ , m );程序功能: 首
4、先在 3*4 的矩阵中选择一个比较用的初值,求出 3*4 矩阵中值最大的那个元素值,结束二重循环后,输出最大值。 运行结果: m=10 3#include void main() int i, n , a10;i=200;n=0;while (ivoid main() void sort (int array, int n);int a10, i;for(i=0; i10; i+)scanf (“%d“, sort ( a , 10 ); for(i=0; i10; i+)printf (“ %3d“, ai);printf(“n“); void sort (int array, int n)
5、 int i, j, k, t ;for(i=0; in-1; i+) k=i;for( j=i+1; jn; j+)if ( arrayjarrayk)k=j;t=arrayk; arrayk=arrayi; arrayi= t ; 程序功能: 输入一维数组 10 个元素值,调用 sort()函数,用选择法排序,并输出。 运行结果: 1 2 3 4 5 6 7 8 9 10 四、根据题意填写空白处的程序语句1在 main( )中输入并求出 5x5 的二维数组主对角线元素中最小值、并输出,请填空。void main( ) int min, i, j , a55 ;for (i=0; i5; i
6、+) for (j=0; j5 ; j+)scanf ( “%d “, min = a00; for (i=0;i5;i+)for (j=0;j5;j+)if ( i = j )if ( aij min )min= aij;printf(“ min= %d “, min );2下面程序的功能:函数 swap() 形参是一个二元素的整型数组,在函数体中,交换这二个元素值;main( )调用 swap() ,实现实参数组二元素的交换,请填空。void swap (int c2 ) int t;t=c0; c0=c1; c1= t; void main( ) int a2=3,5 ;swap ( a
7、 ); printf (“a0=%d a1=%d “, a0, a1);3下面 convert( ) 函数的功能,将一个字符串内容颠倒过来。例:“ABCD”变成“DCBA” 。main( )调用 convert( ) ,并输出颠倒后的字符串,请填空。#include “string.h” void convert ( char str ) ; void main() char s = “ABCD0”;char *p convert ( s ) ;p= s ; while ( *p != 0 ) putchar ( *p ) ;p+;void convert( char str ) int i
8、, j ;char t ; for ( i=0 , j= strlen ( str ) -1 ; i j ; i+, j- ) t = stri;stri = strj ;strj = t ; 五、编程题1 设有一个 main() 函数,输入一个二维数组 int aNN; 各元素值,求出每行元素的平均值,置入数组 float bN; 中。输出 b 数组内容,请编程实现。#include “ stdio.h”#define N 5int aNN; float bN;void main ( ) int i, j, aver ;for ( i=0; i N ; i+ )for ( j= 0; j N
9、 ; j+ )scanf ( “ %d “, for ( i=0; i N ; i+ ) aver =0;for ( j= 0; j N ; j+ )aver += aij ;bi = aver / ( float) N ;for ( i=0; i N ; i+ )printf (“ %d “ , bi ) ;2 已知:若字符串 char s=“1234”; 其长度为 4。编一个函数 int strlength ( char str ); 求出参数指示的字符串长度、并返回字符串长度值。 main() 函数输入字符串、调用 strlength ( ),输出字符串长度值。#include “ stdio.h”int strlength ( char str ) int i= 0 ;while ( str i != 0 ) i + ;return ( i ) ;void main ( ) char str 100 ;gets ( str ) ;printf ( “ strlength = % d “ , strlength ( str ) ) ;