1、C 语言模拟试卷 一、选择题1 c 语言中字符型(char) 数据在内存中的形式存储是 ( A )。A)原码 B)补码 c)反码 D)ASCII 码2 c 语言中,长整型 1ong 数据在内存中的存储形式是( A )。A)ASCII 码 E)原码 C)反码 D)补码3 c 语言的运算符按运算对象的数目可以分为( C ) 。A)单目运算符一种 B)单目和双目运算符C)单目、双目和三目运算符 D)单目、双目、三目和四目运算符4 运算符有优先级,在 c 语言中关于运算符优先级的正确叙述是( ) 。A)逻辑运算符高于算术运算符,算术运算符高于关系运算符B)算术运算符高于关系运算符,关系运算符高于逻辑运
2、算符c)算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符5 c 语言并不是非常严格的算法语言,在以下关于 c 语言的不严格的叙述中,错误的说法是( A ) 。A) 大写字母和小写字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号()左边的变量和右边的值可以是不同类型D)同一个运算符号在不同场合可以有不同的含义6 在 c 语言中,错误的 int 类型的常数是( B ) 。A) 32768 B) 0 C) 037 D)0xAF 7 设 int 类型的数据长度为 2 个字节,则 unsigned int 类型数据的
3、取值范围定( A )A)0 至 255 B)0 至 65535 C)32768 至 32767 D)256 至 2558 以下( B )是错误的转义字符。A) B) c)81 D)09 已知:char w;int x;float y;double z 则表达式 w*x+z-y 结果的类型是( ) A)float B)char c)int D)double10 sizeoff(double)是( )A)函数调用 B) double 型表达式 C) int 型表达式 D)非法表达式11 已知:char ch=A ;则下列表达式值是( ) 。Ch=(ch=Ai- -)sum+=i;D) for (;
4、(c getchar()!=n;) printf( “%c”,c);25 c 语言程序由函数组成。它的 ( )。A) 主函数必须在其它函数之前,函数内可以嵌套定义函数B) 主函数可以在其它函数之后,函数内不可以嵌套定义函数C) 主函数必须在其它函数之前,函数内不可以嵌套定义函数D) 主函数必须在其它函数之后,函数内可以嵌套定义函数26 一个 c 语言程序的基本组成单位是 ( )A)主程序 B)子程序 C) 函数 D)过程27 一个 c 语言程序总是从 ( )开始执行。A)主过程 B)主函数 C) 第一个函数 D)第一行28 以下说法中正确的是。A) c 语言程序总是从第一个定义的函数开始执行B
5、) 在 c 语言程序中,要调用的函数必须在 main()函数中定义C) c 语言程序总是从 main()函数开始执行D) c 语言程序中的 main()函数必须放在程序的开始部分29 若有以下说明,则数值为 4 的表达式是( )int al2=1,2,3,4,5,6,7,8,9,10,11,l 2;char c=a, d,g;A) ag-c B) a4 C) ad-c D)ad-c30 以下程序的输出结果是( )main( ) int n20, i, j,k=2;for (i=0;ik;i+) for (j=0;jk; j+) nj=ni+1;printf(“dn” ,nk );A) 不确定的
6、值 B) 3 C) 2 D)131 以下程序的输出结果是( )main( ) int a =2,4,6,8,10, y=1,x,*p;p=for (x=0;x= j-1) printf (“%dt” ,j );k+;结果:4写出下面程序运行结果。# include stdiohmaiin( ) int x=1;void f1 ( ),f2( );f1( ); printf (“x=dt” ,x);f2(x);printf (“x=dt” ,x);void f1 ( ) int x=3;printf (“x=dt” ,x);void f2 ( int x) printf (“x=dt” ,+x)
7、;结果:三、程序填空题1下面的程序输出 3 到 100 之间的所有素数。#tncludestdiohmain ( ) int i,j;for (i=3;i =100;i+) for(j=2;j=i-1;j+)if (_ ) break;if (_)printf (“4d”, i )2下面的函数 gcd (a, b)计算两个整数 a 和 b 的最大公因子。gcd ( int num, int den) int temp;while(den) temp=_;num=den ;den=temp;return (_);3函数 primedec(m)是求整数 m 的所有素数因子,并输出。例如:m 为 1
8、20 时,输出的素数因子为:2,2,2,3,5primedec (int m) int k2;while(km) if (m%k_) printf (“d, ”k);_;else _;4己知:nx 和 ny 的末 3 位数字相同,并见 xy, x、y、n 均为自然数,本程序的功能是:由键盘输入 n求满足上述条件的 x、y,并使 x+y 为最小。# include stdiohpow3 (int n,int x) int i,1ast;for (1astl,i1;i=x; i+ )1ast= ;return (last );main( ) int x,n,min,flag=1;scanf (“%
9、d”,&n) ;for ( min=2;flag;min+)for( x=1;xmin&falg ;x+)if ( &pow3 (n,x)= =pow3(n, min-x) ) printf (“min=%d=%d+%d n”,min,x,min-x ) ; 四、编写题:1从三个红球、五个白球、六个黑球中任意取出八个,且其中必须有白球,统计共有多少种抽取方案。2设有字符串 char str=“Ghuy&%9,JUYT:read87$i#$sAg!ir?l,s/hh$#345gHU*d“;设计程序,统计其英文字母(不区分大小写) 、数字字符、以及其它字符各有多少。3编写程序,求 s=a+aa+aaa+ aaa (最后一项共 n 位),其中 a 是一个数字。例如:2+22+222+2222+22222(此时 a=2,n=5) 。必须用循环结构实现编程。4由 1,2,3,4 四个数字组成的 4 位数的个数要求:(1)允许 4 位数中有相同的数字(2)个位数和百位数不同。例如:合要求的数有:1122,1244,2143,2233;不合要求的数有::1424,2313(个位数和百位数相同) 。