华清远见C补习测试题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D)没有return语句的自定义函数在执行结束时不能返回到调用处
(10)设有定义double a[10], *s=a;,以下能够代表数组元素a[3]的是
A)(*s)[3]B)*(s+3)
C) *s[3]D)*s+3
(11)若有以下定义和语句
char s1[10]=”abcd!”,s2=”\n123\\”;
(5)int a=1, b=2, c=a>=1||++b; b++; printf(“%d”, b);输出结果为:3。
(6)void main()
{
int x=1,y=2;
printf("%d,",x>y?y++:x++);
printf("%d,",x<=y?++y:++x);
printf("%d,%d",x,y);
fun(s);
printf(“%s\n”,s);
}程序运行后输入:abcdef<回车>,则输出结果是fabcde。
(9)某32位系统下, C程序,请计算sizeof的值.
char str[] = “http://www.hqyj.com/”;
char *p = str ;
char array[10] = {‘h’,’e’,’l’,’l’,’\0’,’o’};
Int **p;
c)一个有10个整型数的数组
Int a[10]={0};
d)一个有10个指针的数组,该指针是指向一个整型数的
e)一个指针,该指针指向一个有10个整型数的数组
f)一个指向函数的指针,该函数有一个整型参数并返回一个整型数
g)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
请计算
sizeof ( p ) =?(6)4
三、简答题。((1)—(6)题,每题3分,第(7)题7分,共25分)
(1)写一个宏MIN,这个宏输入两个参数并返回较小的一个
#define MIN(a,b) a>b?b:a
(2)请写出static关键字尽可能多的作用,至少两点。
1.修饰局部变量,让该局部变量的的值在它所在的函数调用完后不释放。
D) k=(a<b) ? a:b; k=(a<c) ? a:c;
(5)有以下程序
#include<stdio.h>
main()
{
int s=0,n;
for (n=0;n<3;n++)
{
switch(s)
{
case 0:
case 1:s+=1;
case 2:s+=2;break;
case 3:s+=3;
#include <sthio.h>
main()
{
int A=0,B=0,C=0;
C=(A-=A-5);
(A=B,B+=4);
printf(“%d, %d, %d\n”,A,B,C);
}程序运行后输出的结果是
A)0,4,5 B) 4,4,5 C) 4,4,4 D) 0,0,0
(4)有如下嵌套的if语句
void fun(char *str)
{
char temp;
int n,i;
n = strlen (str);
temp = str[n-1];
for (i=n-1; i>0; i--)
str[i] = str[i-1];
str[0] = temp;
}
main()
{
char s[50];
scanf(“%s”,s);
Default:s+=4;
}
printf("%d\n",s);
}
}程序运行后的结果是
A) 1,2,4 B) 1,3,6 C) 3,10,10 D) 3,10,14
(6)有以下程序(a,b,c的ascii码值分别为97,98,99)
#include <stdio.h>
main ( )
{
char *s={"abc"};
printf(”%d%d\n”,strlen(s1),strlen(s2) );
则输出结果是
A)5 5B)10 5C)10 7D)5 8
(12)有以下程序
#include <stdio.h>
int f(int m)
{
static int n = 0;
n += m;
return n;
}
main ( )
{
if(i+j > 3)
continue;
m *= i*j;
}
}
printf(“m=%d\n”,m);
}
程序运行后的输出结果是
A)m=6 B) m=2 C) m=4 D) m=5
(8)下列语句组中,正确的是
A) char *s;s=”Olympic”;B)char s[7];s=”Olympic”;
(1)设a、b、c都是整型变量 如果a的值为1b的值为2则执行c=a++||b++语句后变量a、b的值分别是。
(2)unsigned char a = 255; char b=a; printf(“%d”,b);输出结果为:。
(3)请写出浮点型变量a与10比较是否相等的表达式:。
(4)int i=10, j=10, k=3; k*=i+j; k最后的值是40?
if(a<b)
{
if(a<c) k=a;
else k=c;
}
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是
A) k=(a<b) ? a:b; k= (b<c) ? b:c;
B) k=(a<b) ? ((b<c) ? a:b) : ((b>c) ? b:c);
C) k=(a<b) ? ((a<c) ? a:c) : ((b<c) ? b:c);
C)C程序函数中定义的自动变量,系统不自动赋确定的初值
D)C程序函数的形参不可以说明为static型变量
(14)有以下程序
void fun(char *w, int m)
{
char s,*p1, *p2;
p1 = w;
p2 = w+m-1;
while (p1<p2)
{
s=*p1;
*p1=*p2;
*p2=s;
2.修饰全局变量,使该全局变量只在本程序内可见;
3.修饰函数,使该全局变量只在本程序内可见;
(3)请问运行Test函数会有什么样的结果,为什么会有这样的结果?
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
Linux就业班C语言基础补习课程测验
日期:姓名分数
一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确的答案填在答题卷相应的位置。(每题2分,共30分)
(1)以下关于C语言的叙述中正确的是
A)C语言中的注释只能出现在语句或表达式的两边
B)C语言中的变量可以在使用之前的任何位置进行定义
C)char *s;s={“Olympic”}; D)char s[7];s={”Olympic”};
(9)以下关于return语句的叙述中正确的是
A)一个自定义函数中必须有一条return语句
B)一个自定义函数中可以根据不同情况设置多条return语句
C)定义成void类型的函数中可以有带返回值的return语句
{
int n=0;
printf(“%d,”, f(++n));
printf(“%d\n”, f(n++));
}程序运行后的输出结果是
A)1,2 B)1,1 C)2,3 D)3,3
(13)以下选项中叙述错误的是
A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
B)在C程序的同一函数中,各复合语句内可定义变量,其作用域仅限于本复合语句内
{
char *str = NULL;
str = GetMemory();
printf(str);
}
(4)写出volatile的作用
(5)写出typedef和define的区别
(6)写出sizeof和strlen的区别
(7)用变量a给出下面的定义
a)一个指向整型数的指针
int* p ;
b)一个指向指针的的指针,它指向的指针是指向一个整型数
p1++;
p2--;
}
}
main( )
{
Char a[]="123456";
fun( a, strlen(a) );
puts(a);
}程序运行后的输出结果是
A)654321 B)116611 C)161616 D)123456
(15)有以下程序
void swap(int a, int b)
{
int t = a;
a = b;
b = t;
}
int main()
{
int m = 3, n = 4;
swap(m++, ++n);
printf("%d,%d\n", m, n);
}
程序运行后的输出结果是
A)5,4 B)4,5 C)3,4 D)4,3
二、填空题,请将每空正确的答案写在答卷的相应位置。((1)—(8)题,每题2分,第(9)题6分,共22分)
请计算
sizeof (str ) =?(1)1
sizeof ( p ) =?(2)1
sizeof (array) =?(3)1
strlen(array) = ?(4)4
void Foo ( char str[100]){
请计算
sizeof( str ) =?(5)1
}
void *p = malloc( 100 );
}上面程序输出的结果是:2,3,。
(7)以下程序段的输出结果是“red”,”green”,”blue”乱码。
main()
{源自文库
char *ch[4]={“red”,”green”,”blue”};
int i=0;
while (ch[i])
{
putchar (ch[i][0]);
i++;
}
}
(8)有以下程序
C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D)C语言的数值常量中夹带空格不影响常量值的正确表示
(2)以下叙述错误的是
A)一个C程序可以包含多个不同名的函数
B)一个C程序只能有一个主函数
C)C程序在书写时有严格的缩进要求 否则不能编译通过
D)C程序的主函数必须用main作为函数名
(3)有以下程序
do
{
printf("%d",*s%10);
++s;
} while (*s);
}程序运行后的输入结果是
A)abc B)789 C)7890 D)979899
(7)有以下程序
#include <stdio.h>
main()
{
int i,j,m=1;
for(i=1;i<3;i++)
{
for(j=3;j>0;j--)
四、编程题(共2题,共23分)
1、不使用库函数,完成strcat的功能(10分)
2、编写一个字符串查找函数,函数原型为:char *str_search(constchar *str1,constchar *str2),该函数实现在字符串str1中找出字符串str2第一次出现的位置。如果str2出现在str1中,则返回str2在str1中出现的首地址,如果在str1中没有与str2匹配的字符串则返回NULL。(13分)
(10)设有定义double a[10], *s=a;,以下能够代表数组元素a[3]的是
A)(*s)[3]B)*(s+3)
C) *s[3]D)*s+3
(11)若有以下定义和语句
char s1[10]=”abcd!”,s2=”\n123\\”;
(5)int a=1, b=2, c=a>=1||++b; b++; printf(“%d”, b);输出结果为:3。
(6)void main()
{
int x=1,y=2;
printf("%d,",x>y?y++:x++);
printf("%d,",x<=y?++y:++x);
printf("%d,%d",x,y);
fun(s);
printf(“%s\n”,s);
}程序运行后输入:abcdef<回车>,则输出结果是fabcde。
(9)某32位系统下, C程序,请计算sizeof的值.
char str[] = “http://www.hqyj.com/”;
char *p = str ;
char array[10] = {‘h’,’e’,’l’,’l’,’\0’,’o’};
Int **p;
c)一个有10个整型数的数组
Int a[10]={0};
d)一个有10个指针的数组,该指针是指向一个整型数的
e)一个指针,该指针指向一个有10个整型数的数组
f)一个指向函数的指针,该函数有一个整型参数并返回一个整型数
g)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
请计算
sizeof ( p ) =?(6)4
三、简答题。((1)—(6)题,每题3分,第(7)题7分,共25分)
(1)写一个宏MIN,这个宏输入两个参数并返回较小的一个
#define MIN(a,b) a>b?b:a
(2)请写出static关键字尽可能多的作用,至少两点。
1.修饰局部变量,让该局部变量的的值在它所在的函数调用完后不释放。
D) k=(a<b) ? a:b; k=(a<c) ? a:c;
(5)有以下程序
#include<stdio.h>
main()
{
int s=0,n;
for (n=0;n<3;n++)
{
switch(s)
{
case 0:
case 1:s+=1;
case 2:s+=2;break;
case 3:s+=3;
#include <sthio.h>
main()
{
int A=0,B=0,C=0;
C=(A-=A-5);
(A=B,B+=4);
printf(“%d, %d, %d\n”,A,B,C);
}程序运行后输出的结果是
A)0,4,5 B) 4,4,5 C) 4,4,4 D) 0,0,0
(4)有如下嵌套的if语句
void fun(char *str)
{
char temp;
int n,i;
n = strlen (str);
temp = str[n-1];
for (i=n-1; i>0; i--)
str[i] = str[i-1];
str[0] = temp;
}
main()
{
char s[50];
scanf(“%s”,s);
Default:s+=4;
}
printf("%d\n",s);
}
}程序运行后的结果是
A) 1,2,4 B) 1,3,6 C) 3,10,10 D) 3,10,14
(6)有以下程序(a,b,c的ascii码值分别为97,98,99)
#include <stdio.h>
main ( )
{
char *s={"abc"};
printf(”%d%d\n”,strlen(s1),strlen(s2) );
则输出结果是
A)5 5B)10 5C)10 7D)5 8
(12)有以下程序
#include <stdio.h>
int f(int m)
{
static int n = 0;
n += m;
return n;
}
main ( )
{
if(i+j > 3)
continue;
m *= i*j;
}
}
printf(“m=%d\n”,m);
}
程序运行后的输出结果是
A)m=6 B) m=2 C) m=4 D) m=5
(8)下列语句组中,正确的是
A) char *s;s=”Olympic”;B)char s[7];s=”Olympic”;
(1)设a、b、c都是整型变量 如果a的值为1b的值为2则执行c=a++||b++语句后变量a、b的值分别是。
(2)unsigned char a = 255; char b=a; printf(“%d”,b);输出结果为:。
(3)请写出浮点型变量a与10比较是否相等的表达式:。
(4)int i=10, j=10, k=3; k*=i+j; k最后的值是40?
if(a<b)
{
if(a<c) k=a;
else k=c;
}
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是
A) k=(a<b) ? a:b; k= (b<c) ? b:c;
B) k=(a<b) ? ((b<c) ? a:b) : ((b>c) ? b:c);
C) k=(a<b) ? ((a<c) ? a:c) : ((b<c) ? b:c);
C)C程序函数中定义的自动变量,系统不自动赋确定的初值
D)C程序函数的形参不可以说明为static型变量
(14)有以下程序
void fun(char *w, int m)
{
char s,*p1, *p2;
p1 = w;
p2 = w+m-1;
while (p1<p2)
{
s=*p1;
*p1=*p2;
*p2=s;
2.修饰全局变量,使该全局变量只在本程序内可见;
3.修饰函数,使该全局变量只在本程序内可见;
(3)请问运行Test函数会有什么样的结果,为什么会有这样的结果?
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
Linux就业班C语言基础补习课程测验
日期:姓名分数
一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确的答案填在答题卷相应的位置。(每题2分,共30分)
(1)以下关于C语言的叙述中正确的是
A)C语言中的注释只能出现在语句或表达式的两边
B)C语言中的变量可以在使用之前的任何位置进行定义
C)char *s;s={“Olympic”}; D)char s[7];s={”Olympic”};
(9)以下关于return语句的叙述中正确的是
A)一个自定义函数中必须有一条return语句
B)一个自定义函数中可以根据不同情况设置多条return语句
C)定义成void类型的函数中可以有带返回值的return语句
{
int n=0;
printf(“%d,”, f(++n));
printf(“%d\n”, f(n++));
}程序运行后的输出结果是
A)1,2 B)1,1 C)2,3 D)3,3
(13)以下选项中叙述错误的是
A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
B)在C程序的同一函数中,各复合语句内可定义变量,其作用域仅限于本复合语句内
{
char *str = NULL;
str = GetMemory();
printf(str);
}
(4)写出volatile的作用
(5)写出typedef和define的区别
(6)写出sizeof和strlen的区别
(7)用变量a给出下面的定义
a)一个指向整型数的指针
int* p ;
b)一个指向指针的的指针,它指向的指针是指向一个整型数
p1++;
p2--;
}
}
main( )
{
Char a[]="123456";
fun( a, strlen(a) );
puts(a);
}程序运行后的输出结果是
A)654321 B)116611 C)161616 D)123456
(15)有以下程序
void swap(int a, int b)
{
int t = a;
a = b;
b = t;
}
int main()
{
int m = 3, n = 4;
swap(m++, ++n);
printf("%d,%d\n", m, n);
}
程序运行后的输出结果是
A)5,4 B)4,5 C)3,4 D)4,3
二、填空题,请将每空正确的答案写在答卷的相应位置。((1)—(8)题,每题2分,第(9)题6分,共22分)
请计算
sizeof (str ) =?(1)1
sizeof ( p ) =?(2)1
sizeof (array) =?(3)1
strlen(array) = ?(4)4
void Foo ( char str[100]){
请计算
sizeof( str ) =?(5)1
}
void *p = malloc( 100 );
}上面程序输出的结果是:2,3,。
(7)以下程序段的输出结果是“red”,”green”,”blue”乱码。
main()
{源自文库
char *ch[4]={“red”,”green”,”blue”};
int i=0;
while (ch[i])
{
putchar (ch[i][0]);
i++;
}
}
(8)有以下程序
C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D)C语言的数值常量中夹带空格不影响常量值的正确表示
(2)以下叙述错误的是
A)一个C程序可以包含多个不同名的函数
B)一个C程序只能有一个主函数
C)C程序在书写时有严格的缩进要求 否则不能编译通过
D)C程序的主函数必须用main作为函数名
(3)有以下程序
do
{
printf("%d",*s%10);
++s;
} while (*s);
}程序运行后的输入结果是
A)abc B)789 C)7890 D)979899
(7)有以下程序
#include <stdio.h>
main()
{
int i,j,m=1;
for(i=1;i<3;i++)
{
for(j=3;j>0;j--)
四、编程题(共2题,共23分)
1、不使用库函数,完成strcat的功能(10分)
2、编写一个字符串查找函数,函数原型为:char *str_search(constchar *str1,constchar *str2),该函数实现在字符串str1中找出字符串str2第一次出现的位置。如果str2出现在str1中,则返回str2在str1中出现的首地址,如果在str1中没有与str2匹配的字符串则返回NULL。(13分)