C语言指针测试1教师版

发布 2023-05-16 04:50:28 阅读 7454

满分100分时间:120分钟。

姓名专业。一、填空题(5题每题3分)

1.设int a[10],*p=a;则利用指针p对a[2]的正确引用,是 *(p+2)

2.设有语句int *point,a=4;则&a表示的是变量a的地址,&point表示的是指针变量point的地址 ,若再有语句point = a,则指针变量point的值是变量a的地址。

3. 设有语句int *p ; int a = 3; p = a;则利用指针p将a的值重新赋值为5,语句为

*p = 5

4.设有语句int * p;如果此时执行语句*p = 5,程序会出现致命错误,原因是指针变量未初始化

5.对于4**现的情形,可以采用动态分配内存的办法来解决,语句是。

p = int*)malloc(sizeof(int

二、选择题(5题每题3分)

6. 若有语句char s[20]=”programming”, ps=s;,则不能代表字符o的表达式是(a)

a ps2b s[2c ps[2] d *(ps+2)

7. 设有如下程序:

int *var,ab; ab=100; var=&ab; ab=*var+10;

执行上面的程序后,ab的值为( b )

a 100b 110c 90 d 依编译器而定。

8. int a, b, *c = a; int *p = c;p = b;执行完上面三条语句之后c指向(d)

a pb cc b d a

9. 假如指针p已经指向某个整型变量x,则(*p)++相当于( a )

a xb pc *(pd &x++

10. 设有**段int a[10];*pointer=a;”以下不正确的表达式是( b )

a pointer=a+5 b a=pointer+a

c a[2]=pointer[4] d *pointer=a[0]

三、判断以下程序输出结果(6题每题5分)

#include<>

void fun(int *x,int *y)

printf(“%d %d”,*x,*y);

*x=3;*y=4;

int main(void)

int x=1,y=2;

fun(&x,&y);

printf(“%d %d”,x,y);

return 0;

程序输出结果:

#include<>

#include <>

void fun(int *n)

while((*n)--

printf("%d",+n));

int main(void)

int a=100;

fun(&a);

return 0;

程序输出结果:

#include<>

void fun(int *x,int n)

int *p,m,temp,*i,*j;

m=(n-1)/2;

i=x;j=x+n-1;p=x+m;

for(;i<=p;i++,j--)

int main(void)

int i,arr[10]=,p;

p=arr;

fun(p,10);

for(p=arr;p

printf("");

return 0;

程序输出结果:

#include<>

void fun(int x,int n)

int i,j,k,t;

for(i=0;i

if(k!=i)

int main(void)

int *p,i,a[5]=;

p=a;fun(p,5);

for(p=a,i=0;i<5;i++)

printf("");

return 0;

程序输出结果:

#include<>

float fun(float *pa)

int i;

float **,s=0;

for(i=0;i<5;i++)

**=s/5;

return **;

int main()

float sco[5] =

float **,*sp;

int i;

sp=sco;

**=fun(sp);

printf("result is %5.2f",**);

程序输出结果:

result is 85.6

四、编程题(1题40分)

程序目的:将数字字符串转化成数字输出。

程序效果:输入字符串“1234657”,输出整数1234657

程序要求:1. 输入字符串长度不得超过8

2. 字符串中的非数字字符需要过滤掉。例如字符串输入为“2#79,8 9”应该被规整为字符串为“27989”

3. 子函数的功能全部采用指针操作,主函数完成相关功能。

需要使用子函数如下:

1. int formula(char* str1,int len,char* str2)

str1为输入字符串,str2为规整后的字符串,len为输入字符串的长度,返回值为规整字符串的长度。

2. int tran(char* str1,int len)

str2为规整后的字符串,;len为规整字符串的长度, 返回值为转换成功的数字。

答案:#include<>

#include<>

int formula(char* str1,int len,char* str2)

char* p1 = str1;

char* p2 = str2;

int len_formula = 0;

for(; p1 < str1 + len;p1++)

*p2 = 0';

return len_formula;

int tran(char* str1,int len)

int num = 0;

int temp = 1;

char* p = str1 + len - 1;

for(; p >=str1 ; p--)

return num;

int main(void)

char strinput[9] =122b3c4d";

char strformula[9];

//printf("请输入源字符串:");

//gets(strinput);

int len_input = strlen(strinput);

int len_str = formula(strinput,len_input,strformula);

printf("规整后的字符串:%s",strformula);

printf("转换后的数是:%d",tran(strformula,len_str));

return 0;

函数 1 教师版

函数讲义 一 1.已知的反函数为,则不等式的解集是。答案 2.若函数在区间上存在一个零点,则实数的取值范围是 或 答案 c 3.若不等式在时恒成立,则实数的取值范围是。答案 4.设摩天轮逆时针方向匀速旋转,24分钟旋转一周,轮上观光箱所在圆的方程为 已知时间时,观光箱a的坐标为,则当时 单位 分 动...

南亚1 教师版

第七章认识大洲 第二节南亚 第 1 课时 学习目标 1 知道南亚的地理位置和范围。2 知道南亚三大地形区的分布。3.知道印度河和恒河的发源地 流经的国家和注入的海洋。预习 1 教材助读。阅读教材40 42页。2 预习自测。1 南亚的地理位置。南亚位于亚洲南部中 西段与之间的广大地区。东濒湾,西滨。2...

1草原教师版

2019学年上学期六年级语文科第一单元导学案 教师版 主备人审核人。课题 1 草原。教学目标 1 会写 毯 陈 裳 等8个生字,能正确 流利 有感情地朗读课文,了解课文的主要内容,背诵课文第1自然段。2 感受内蒙古大草原美好的风光及风土人情,体会蒙汉两族人民之间的深情厚谊,激发了解西部的兴趣。3 揣...