姓名_________________ 班级______________ 学号_____________
装 订 营养师证怎么考线
小程序制作 相册甘 肃 工substring的用法举例 业 职 业 技 术 学 院
2008-2009学年度第一学期《C语言程序设计》试卷(A)
题 号 | 一 | 二 | 三 | 四 | 总 分 |
分数 | |||||
一.选择题(每小题2分,共40creator是什么意思分)
1、下列可以正确表示字符型常量的是( )
A “\n” B “a” C ‘\t’ D 298
2、已经int i ; float f ;正确的表达式是 ( )
A (int f)%i B int( f ) % i C int (f % i) D(int)f% i
3、已知 int a,b ;执行语句a=( b=2*3,b*5) , b+6 ;变量a的值是( )
A、36 B、30 C、12 D、6
4、在C语言中,5种基本数据类型的存储空间长度的排列顺序为( C )
A、 char<int<long int<float<double B、 char=int<long int<float<double
C、 char<int<long int=float<double D、 char<int<long int<float<=double
5、下列定义数组的语句中正确的是哪个 ( )
A、int a (10) B、char str [ ] C、int n=5 D、#define size 10
int a[4][n] char str1[size],str2[size+2]
6、若有说明int a[ ][3]={ 1,2,3,4,5,6,7},则a数组第一维的大小为( )
A、2 B、3 C、4 D、不确定
7、已知:char s[10] ,*p=s;下列错误的表达式是 ( )
A、s=p+5 B、p=s+5 C、s[2]=p[3] D、*p=s[0]
8、设有30个学生的成绩表,其中学号(int num)、姓名(char name)、成绩(int score),在下面结构体数组的定义中,不正确的是( D )
A、struct student B、struct student
{ {
int num; int num;
char name[10]; char name[10];
int score; int score;
}stud[30]; };
struct student stud[30];
C、struct D、struct stud[30]
{ {
int num; int num;
char name[10]; char name[10];
int score; int score;
}stud[30]; };
9、设有如下形式的字符数组定义:
satic char str[ ]=”beijing” ;则执行下列语句后的输出结果为 ( )
printf(“%d \ n”,strlen (strcpy (str,”hello”)));
A、7 B、8 C、5 D、9
10、若有以下数组定义:char a[]=”abcde”,b[]={‘a’,’b’,’c’,’d’,’e’};则正确的描述是( B )
A、 a数组长度和b数组长度相同 B、 a数组长度大于b数组长度
C、 a数组长度小于b数组长度 D、 a数组和b数组存放相同的内容
11、输出较大字符串的正确语句是( C )
A、if(strcmp(str1,str2)) printf(“%s”,str1);
B、if(str1>str2) printf(“%s”,str1);
C、if(strcmp(str1,str2)>0) printf(“%s”,str1);
D、if(strcmp(str1)>strcmp(str2)) printf(“%s”,str1);
12、若调用一个函数,且此函数中没有return语句,则正确的说法是 ( )
A、该函数没有返回值 B、返回若干个系统默认值
C、能返回一个用户所希望的函数值 D、返回一个不确定的值
13、在一个文件中定义的全局变量的作用域为( D )
A、本程序的全部范围
B、离定义该变量的位置最近的函数
C、函数内部全部范围
D、定义该变量的位置开始到本文件结束
14、以下程序执行的结果是 ( )
请给一大堆符号乱码int i=10;
main( ) { int j=1;j=func( ); printf(“%d , ”, j); j = func ( ); printf (“%d \n” , j);}
func ( ) { static int k=0; k=k+i; i=i+10 ; return (k);}
冒泡排序代码c语言A、0,0 B、10,20 C、10,30 D、20,20
15、要想使语句printf(“%s”,str);显示yes!,str可以定义为( B )
A、char str=”yes!” B、char str[5]=”yes!”
C、char str={’y’,’e’,’s’,’!’} D、#define str “yes!” ;
16、下面有关for循环的正确描述是 ( )
A、for循环只能用于循环次数已经确定的情况
B、for是先执行循环体语句,后判断表达式
C、在for循环中,不能用break语句跳出循环体
D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
17、以下不正确的说法是 ( )
A、在C语言中允许函数嵌套调用
B、函数值类型与返回值类型出现矛盾时,以函数值类型为准
C、形参可以是常量、变量和表达式
D、C语言规定,实参和形参之间可以是值传递或地址传递
18、要使指针变量p指向一维数组a的第三个元素(下标为2),正确的赋值表达式是 ( )
A、p=&a 或 p = &a[2] B、p = a +2 或 p = &a[2]
C、p=&a + 2 或 p = a[2] D、p = a + 2 或 p = a[2]
19、二维数组a[4][5],将其转换成等价的一维数组b[20],问原二维数组中元素a[2][3],在转换成一维数组后再一维数组中的下表应该是b[ ? ] ( )
A、6 B、9 C、13 D、14
20、已知:char c [9] = “computer”,*s=c ; int i ;则此列的输出语句中,错误的是( )
A、printf( “%s” ,*s); B、printf ( “%s” ,c) ;
C、printf( “%s” , s); D、for(i=0 ; i<8 ; i++) printf (“%c”,c [i]);
二、填空题(每小题2分。共20分)
1、写出下列表达式的值:
a+b%3*( int )( a-b )/4 ( 设a=13.6 ,b = 8 )
2、写出下面各逻辑表达式的值。(设a =3,b = 4,c=5)
! (a+b) + c-1 && b +c/2
3、下面程序的运行结果是
static char c[5]={ ‘a’,’b’,’\0’, ‘c’,’ \0’ };
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论