文档库 最新最全的文档下载
当前位置:文档库 › c语言2

c语言2

c语言2
c语言2

第一题单项选择题(每题2分,共40分)

1、( A )是关于C语言数据类型的正确叙述。

A、变量必须先定义后使用

B、不允许使用空类型

C、枚举类型不是基本类型

D、数组并不是构造类型

2、C语言函数体由(C )括起来。

A、< >

B、( )

C、{ }

D、. [ ]

3、Turbo C中,int型数据占用的字节数(B)。

A、由用户自己定义

B、为2个字节

C、是任意的

D、等于所用计算机的字长

4、(B)语句符合C语言语法。

A、float z=28,int x,y=18;

B、int x=25,y=25,z=25;

C、int x=25:y=25:z=25;

D、int x+y=z;

5、语句x=5%4+(4/5); 运行之后,整型变量x的值为(A )。

A、1

B、2

C、3

D、0

6、设整型变量x为7,使整型变量y不为2的表达式是(A)。

A、y=x%3

B、y = x/3

C、y =(++x)/3

D、y=8-(--x)

7、函数putchar( ) 的功能是向终端输出(A )。

A、一个字符

B、多个字符

C、一个关系表达式

D、一个实型变量值

8、能正确表示数学关系式100≤s<300的表达式为(C)。

A、(s>=100) & (s<300)

B、100<= s<300

C、(s>=100) && (s<300)

D、(s>=100) and (s<300)

9、下列表达式(D)不能用来判断整型变量x中的值是否为奇数。

A、x%2==1

B、!(x%2==0)

C、!(x%2)

D、x%2

10、以下运算符中优先级最高的是(D )。

A、<=

B、&&

C、||

D、!

11、若已定义int a=1,b=2,t=3; 则执行以下程序段后变量a,b,t的值分别为(A )。

if(a

{ t=b; b=a; a=t; }

A、a=2,b=1,t=2

B、a=2,b=1,t=1

C、a=2,b=1,t=3

D、a=3,b=1,t=2

12、在循环语句的循环体中,break语句的作用是(B )。

A、继续执行break语句之后的循环体各语句

B、提前结束循环,接着执行该循环后续的语句

C、结束本次循环

D、暂停程序的运行

13、do-while循环与while循环的主要区别是(D )。

A、while循环体至少无条件执行一次,而do-while循环体可能都不执行

B、do-while循环体中可使用continue语句,while循环体中不允许出现continue语句

C、do-while循环体中可使用break语句,while循环体中不允许出现break语句

D、do-while循环体至少无条件执行一次,而while循环体可能都不执行

14、以下程序的运行结果是(B )。

void main()

{int s = 0, i = 0;

while(i< 10)

{i++;

if(i % 2==0)

s += i;

}

printf("%d\n",s);

}

A、20

B、30

C、25

D、45

15、数组元素下标的数据类型为(A )。

A、整型常量、字符型常量或整型表达式

B、字符串常量

C、实型常量或实型表达式

D、任何类型的表达式

16、若已定义int arr[10]; 则不能正确引用arr数组元素的是(D)。

A、arr[0]

B、arr[1]

C、arr[10-1]

D、arr[7+3]

17、若有以下程序:

void main( )

{char s[10]= "ajskdl",r[10];

r=s;

printf("%s\n",r);

}

则(A )。

A、执行时输出:ajskdl

B、执行时输出:a

C、执行时输出:aj

D、编译不通过

18、下面关于字符数组的叙述中,错误的是(B )。

A、可以通过赋值运算符“=”对字符数组整体赋值

B、不可以用关系运算符对字符数组中的字符串进行比较

C、字符数组中的字符串可以整体输入、输出

D、字符数组可以存放字符串

19、以下程序段执行后输出的结果是(D )。

int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

printf("%d\n",a[1][2]);

A、2

B、 3.

C、 6

D、7

20、以下程序段运行后,屏幕的输出结果是(B)。

char str[80];strcpy(str,"computer");printf("%d",strlen(str));

A、7

B、8

C、9

D、80

第二题填空题(每空1分,共10分)

1、C语言中,应该在printf()函数中的格式字符串中用(%%)表示,才能输出字符“%”。

2、若有说明int a[3][4]={0};数组a中的元素初值为(0)。

3、程序中若要使用printf()函数就必须引用头文件”(#include”stdio.h”)”。

4、可以用printf("%d" ,123);语句输出一( 十)进制整数。

5、如果被调函数的定义出现在主调函数(后),可以不必加函数声明。

6、若调用一个函数,且此函数中没有return语句,则该函数返回一个(不确定)的值。

7、下面函数调用语句含有实参的个数为(2)个。

fun((exp1,exp2),(exp3,exp4,exp5));

8、结构体类型的变量的字节数等于(【8】)。

9、数组名代表数组的(首地址)。

10、字符串函数strcat(str1,str2)的作用是(将str2连接到str1之后重新赋值给str1)

第三题程序阅读题(每题4分,共32分)

1、写出下列程序的输出结果24

main()

{

int p[7]={11,13,14,15,16,17,18};

int i=0,j=0;

while(i<7&&p[i]%2==1)

{

j+=p[i++];

}

printf(“%d\n”,j);

}

2、写出下列程序的功能。(最后一个‘0‘和’/0‘是不同的是否影响叙述功能建议改成假定输入为abcEDef问输出结果)

#include

void chg(char *s)

{int i,n=0;

char *p=s;

while(*p)

{n++;

p++;

}

for (i=0;i

if ((s[i]>='a' && s[i]<='z') || i%2==0)

s[i]=s[i]-32;

s[i]='0'; }

void main( )

{

char ss[100];

printf("Enter string: \n");

gets(ss);

chg(ss);

printf("\nNow string is :\n");

puts(ss);

getch( );

}

3、写出下列程序的输出结果

int fun()

{

int x = 1;

int y = 1;

x += 2;

y += 2;

return x+y;

}

main()

{

int a,b;

a = fun();

b = fun();

printf(“%d,%d”,a,b);

}

4、设有程序段如下:

switch(rank)

{ case 1:printf(“PERFECT! \n”);break;

case 2:printf(“GOOD! \n”);break;

case 3:printf(“JUST SOSO! \n”);break;

case 4:printf(“BAD! \n”);break;

default:printf(“IMPOSSIBLE! \n”);break;

}

若rank的值为3,则输出结果是什么。JUST SOSO!

5、以下程序运行结果是:

void fun(); 请检查该程序是否正确?

char c = ’a’;

void main()

{

char c;

myfun( c );

printf(“%c\n”,c+1);

}

void fun()

{

c -= 32;

}

6、写出下列程序的输出结果

void ast (int x,int y,int *cp,int *dp)

{ *cp=x/y; *dp=y/x;

}

main()

{ int a=4,b=3,c,d;

ast(a,b,&c,&d);

printf("%d,%d\n",c,d);

}

7、写出下列程序段的输出结果10 11

int x=10,y=10;

printf(“%d %d\n”,x--,--y);

8、输入10个数,分别为0,-9,8,-17,48,99,128,0,45,-92,写出下列程序的输出结果。count1=9,count2=0,count3=1

9、/* Note:Your choice is C IDE */

#include "stdio.h"

#define N 10

main()

{ int a[N];

int i,count1=0,count2=0,count3=0;/*count1记录正数个数,count2记录负数个数,count3记录0的个数*/

printf("Please input numbers:\n");

for(i=0;i

{

scanf("%d",&a[i]);

if(a[i]>0) count1++;

if(a[i]<0) count2++;

if(a[i]==0) count3++;

}

printf("count1=%d,count2=%d,count3=%d",count1,count2,count3);

}

第三题编程填空题(每空2分,共18分)

1、下面程序可求出矩阵a的主对角线上的元素之和,请填空。

main()

{

int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;

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

for(j=0;j<3;j++)

if(i==j) sum=sum+(a[i][j]) ;

printf(“sum=%d\n”,sum);

}

2、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请填空

#include "stdio.h"

#include "math.h"

float f(float,float);

main()

{ float x,y,z,sum;

scanf(“%f%f%f”,&x,&y,&z);

sum=f(【3】)+f(【4】);

}

float f(float a,float b)

{

float value;

value =a/b;

return(value);

}

3、以下函数的功能为通过自定义函数求两个数之间的最大值,请填空完成该程序。

int fun(int a, int b)

{

if (【5】) return b;

else return a;

}

main()

{

int a,b,max;

scanf(“%d,%d”,&a,&b);

max=fun(a,b);

printf(“max=%d”,max);

}

4、以下自定义函数的功能是找出所有三位数中不能被12整除的数,并统计其个数,请填空完成该程序。

void fun()

{

int i;

for( i=100; i<=999; i++)

if( 【6】) printf(“%d”,i);

}

void main()

{

fun();

}

5、用自然语言描述的程序逻辑为:(假设正确口令为123456)

①设置环境;

②定义变量i、flag和password,并令flag=0,i=0;

③用户回答口令,将其赋于password变量;

④口令正确?如果是,则flag=1,转⑥。否则转⑤;

⑤回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥;

⑥根据flag之值输出相应信息。

#include "stdio.h"

main()

{

long i=0,flag=0,password;

printf("please input password:\n");

scanf("%ld",【7】);

do

{

if(password==123456)

( 【8】) ;

i++;

}while(【9】);

if(flag==1)

printf("口令正确!"); else

printf("口令不正确!"); }

c语言实验报告 2

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf(%c %c\n,c1,c2); } 运行此程序。○1在上面printf语句的下面再增加一个printf语句。○2printf(%d %d\n,c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 将第3行改为○3. int c1,c2;

再运行,并分析结果。 再将第4、5行改为○4c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 再将第4、5行改为○5c1=‘'a‘'; c2=‘'b‘'; 再运行,并分析结果。 再将第4、5行改为○6c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116'; printf(a%c b%c\tc%c\tabc\n,c1,c2,c3); printf(\\b%c %c\n,c4,c5); } #include void main() { int a,b; unsigned c,d; long e,f; a=100; b=-100; e=50000; f=32767; c=a; d=b; printf(%d,%d\n,a,b); printf(%u,%u\n,a,b); printf(%u,%u\n,c,d); c=a=e; d=b=f; printf(%d,%d\n,a,b);

C语言实验

C语言上机指导指导教师:李辉李晓丽 东北电力大学 电气工程学院 2006年3月

实验2数据类型、运算符和表达式 1.实验目的 掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对他们赋值的方法。 掌握不同的类型数据之间赋值的规律。 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 进一步熟悉C程序的编辑、编译、连接和运行的过程。 2.实验内容和步骤 (2).在此基础上增加一个语句: printf(“%d%d\n”,c1,c2); 再运行,并分析结果。 (3).再将第2行改为: int c1,c2; 再使之运行,并观察结果。 (4).再将第3、4行改为: c1 = a; /* 不用单撇号*/ c2 = b; 再使之运行,分析其运行结果。

(5).再将第3、4行改为: c1 = ”a”; /* 用双撇号*/ c2 = ”b”; 再使之运行,分析其运行结果。 (6).再将第3、4行改为: c1 = 300; /* 用大于255的整数*/ c2 = 400; 再使之运行,分析其运行结果。 输入并运行教材第3章习题3.6给出的程序 (1).将一个负整数赋给一个无符号的变量,会得到什麽结果。画出它们在内存中的表示形式。 (2).将一个大于32765的长整数赋给整形变量,会得到什麽结果。画出它们在内存中的表示形式。 (3).将一个长整数赋给无符号的变量,会得到什麽结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。画出它们在内存中的表示形式。 同学们可以改变程序中各变量的值,以便比较。例如:a = 65580, b = -40000, e = 65535, f = 65580。 输入习题3.10

C语言第二讲数据类型2

C语言第二讲C语言的基础知识 版本:v2011.0.1 教学内容: 1、Makefile的原理与使用 2、printf格式化输出和sizeof()。 3、常量的使用目的 4、指针变量指向一个地址,为什么要定义指针变量的数据类型呢? 5、指针+1的计算方法 6、结构体的含义和使用技巧 教学重点: 1、创建Makefile文件,快捷编译C语言程序 2、printf与sizeof 3、数组与结构 4、for,while,do..while 课后作业: 1、用整型和字符型数据两种方法输出 00 01 (09) 10 11 (19) …… 90 91 (99) 2、用数组和结构体数据类型初始化五个人的学号,姓名,单科成绩[3],,然后求出总分,名次,最后按总分由高到底(总分最高名次为1)输出 如NO. Name cj1 cj2 cj3 sum mingci 教学过程: 教学目标一:在ubuntu中怎么开始编写和编译C语言 1、使用gedit编写C语言程序 分析一个简单的C语言程序:test1.c。 #include main() { printf("Hello C!"); } 建议:统一在主文件夹中进行文件创建。 2、程序的编译执行 编译的方法: 1、gcc test1.c -c test1.o//用gcc编译test1.c生成一个名为test1.o的链接文件。 2、gcc test1.o -o test1 //用gcc编译test1.o生成一个名为test1的可执行文件。 这里只有一个test1.c的文件,如果是一个工程呢?会包含多个.c的文件,如果用gcc我们需要每次编译时都要把修改的程序手动编译,如果用 make,则可以加快编译速度,缩短时间。就像是windows中的批处理文

C语言----实验一二

实用 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉VC++6.0/C-Free等C语言程序编译软件运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析: 将程序中的\n去掉后,运行结果及分析: (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析:

(3)#include void main( ) { char c1,c2; c1=97;c2=98; printf("%c ,%c\n",c1,c2); printf("%d,%d\n",c1,c2); printf("%c %c\n",c1+1,c2+2); } 运行结果及分析: 2.程序填空 任意输入一个有五位数字的正整数x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1表示),请将程序补充完整。 #include main() { int b1,b2,b3,b4,b5; int x; Scanf( “ %ld ”,&x); b5= (x/10000)%10; ; b4=(x/1000)%10; b3= (x/100)%10; ; b2=(x/10)%10; b1x%10; ; printf(“the number is ⑤ %d \n”,x); printf(“its bit is:%d,%d,%d,%d,%d\n”,b5,b4,b3,b2,b1); } 程序分析: 3.程序改错(注意:题中的编号为行序号,并非程序本身)

C语言第二章习题带答案

1.C语言中的简单数据类型包括( B )。 A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。 A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。 A.0x45 B.2.5e-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。 A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。 A.'\'','\\','\n' B.'\','\017','\' C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。 A.八进制数B.十六进制数 C.十进制数D.非法数 7.下列可以正确表示字符型常数的是( B )。 A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。 A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。 A.1111 1111 1111 1000 B.100000000000 1000 C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。 A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。 A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。 A.short B.unsigned short C.long D.以上三种类型均可13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。 printf("%d\n", x); A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。 A.160,-0xffff,011 B.-0xcdf,01a,0xe C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。 A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe C.-018,999,5e2 D.-0x48eg,-068,03f 16.下面4个选项中,均是合法浮点数的选项是( B )。 A.+1e+1,5e-9.4,03e2 B.-.60,12e-4,-8e5 C.123e,1.2e-.4,+2e-1 D.-e3,.8e-4,5.e-0

第一章C语言概述习题附答案

第一章C语言概述 一、单选题 1. C语言程序的执行,总是起始于()。C A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。本题正确答案为C。 2、C语言程序的基本单位是()。C A)程序行B)语句C)函数D)字符 3、C语言中规定:在一个源程序中main函数的位置()。C A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 4、以下述叙正确的是()。C A.在C程序中,main函数可有可无 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 5、能将高级语言编写的源程序转换为目标程序的是()。C A.链接程序 B.网络程序 C.编译程序 D.WORD字处理程序 6、下列说法中正确的是()。C A)C程序书写时,不区分大小写字母 B)C程序书写时,一行只能写一个语句 C)C程序书写时,一个语句可分成几行书写 D)C程序书写时每行必须有行号 分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。本题正确答案为C。 7、下面对C语言特点,不正确描述的是()。C A)C语言兼有高级语言和低级语言的双重特点,执行效率高 B)C语言既可以用来编写应用程序,又可以用来编写系统软件 C)C语言的可移植性较差 D)C语言是一种结构式模块化程序设计语言 分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为C。 8、C语言源程序的最小单位是()。D A)程序行B)语句C)函数D)字符 分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。本题正确答案为D。 9.计算机内部运算使用的数是()。C A)十进制数B)十六进制数C)二进制数D)八进制数

应用语言学

The Influence of Negative Transfer of Chinese on Freshmen English Majors’ English Writing 汉语母语负迁移对英语专业大一学生英语写作的影响 学生:刘晓勤

Abstract Transfer is a common phenomenon in foreign language learning, which results from the similarities and dissimilarities between native language and target language. The research in this thesis is carried out to explore the relationship between native language transfer and English majors’ English writing. This thesis lists manifestations of language transfer and puts emphasis on making a contrastive study of the different characters between Chinese and English while analyzing the various errors in Chinese students’ composition caused by negative transfer of Chinese. It also provides some pedagogical implications. Key words:negative transfer; English writing; error analysis; pedagogical implications

C语言实验报告二

河南工程学院 计算机学院 C语言程序设计实验报告册 学期: 2020~2021学年第1学期 专业: 软件工程 班级: 2021 学号: 202052213120 姓名: 刘兴要 指导教师: 张天伍

实验二数组 一、实验学时:2学时 二、实验目的 掌握二维数组、字符数组与字符串的关系以及字符串变量的表示,熟练字符串处理函数的应用。 三、实验内容 1.用选择法对10整数排序。 2.有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中的 英文大写字母、小写字母、数字、空格以及其它字符的个数。 3.将两个字符串连接起来,不要用strcat函数。 4.(飞机定票系统)一家小型航空公司刚刚购买了计算机,用于新的自动化 定票系统。总裁要求您为新系统编制程序。需要分配该航空公司的唯一一 架飞机每个航班的座位(容量:10个座位)。 提示:程序应该轮流显示下列菜单: Please type 1 for “first class” Please type 2 for “economy” 如果输入1,则程序应该分配头等舱内的座位(座位1 ~ 5)。如果输入2 ,则程序应该分配经济舱的座位(座位 6 ~ 10)。然后,程序输出登机证,说明座位号,以及它位于飞机的头等舱,还是经济舱内。 使用一个数组来代表飞机的座位安排。将数组的所有元素初始化为0,以说明所有座位都是空的。当分配每个座位时,将数组的对应元素设置为1,以说明不能再次使用那个座位号。当然,程序不应该分配已经分配过的座位。 当头等舱满员时,程序应询问是否可以安排在经济舱内(等等)。如果可以,

则进行适当的座位分配。如果不可以,则输出信息“Next Flight leaves in 3 hours”. 四、主要仪器设备及耗材 硬件:计算机一台 软件:DEV-CPP或其他软件 五、实验步骤 1. 复习数组相关内容,编写以上题目源程序 2. 输入源程序,编译、连接直到没有错误 3. 根据实验步骤,撰写实验报告 六、程序清单 程序一: #include //冒泡排序 #include //导入函数头文件 #define N 10 int main(){ int a[N],i,j,temp=0; for(i=0;i<10;i++)//循环输入 scanf("%d",&a[i]); for(i=0;i<10;i++)//前一项循环 for(j=i+1;j<10;j++)//后一项循环 if(a[i]>a[j]){//前后项元素比较 temp=a[i]; a[i]=a[j]; a[j]=temp; } printf("升序为:\n"); for(i=0;i<10;i++) printf("%3d",a[i]); //每个元素空三格输出 } 程序二: #include #include

C语言实训指导第2讲

课程实训指导 第2讲运算符、表达式 2.1 知识要点 C语言的运算符主要包括:算术运算符、关系运算符、逻辑运算符及其他运算符。 1、算术运算符与算术表达式 说明: ●两个整数相除结果为一整数,1/2的结果为0 ●取余两边的数只能是整数,1%2的结果为1 2、关系运算符与关系表达式 说明:关系运算符的优先级低于算术运算符,6+5>5>4。

3、逻辑运算符与逻辑表达式 说明:C语言中用0表示假,非0表示真(通常用1) 短路: ●表达式1 && 表达式2,如果表达式1为假时,表达式2不会计算 ●表达式1 || 表达式2,如果表达式1为真时,表达式2不会计算 4、其他运算符 ●自增、自减运算符 自增、自减运算符的作用是使变量的值增1或减1。结合性自右向左,分为前置和后置。优先级与逻辑非(!)同级,运算对象必须是变量,不能是常量或表达式。 说明: ++i, --i 表示在使用i之前,先使i的值加(减)1; i++, i-- 表示在使用i之后,再使i的值加(减)1; ●赋值运算符和赋值表达式 复合赋值运算符:+= 、- =、*= 、/= 说明: a*=b 等同于a=a*b a*=b+8 等同于a=a*(b+8) 因为算术运算符优先级高 ●逗号运算符和逗号表达式 “,”是C提供的一种特殊运算符,在所有的运算符中,它的优先级是最低的,结合性自左向右。 说明: 由逗号运算符组成的表达式称为逗号表达式,其值为最后1个表达式的值。它 的一般形式:表达式1,表达式2, …,表达式n。(如:x=y=6, x+y , y+1) ●条件运算符和条件表达式 “?:”称为条件运算符,一般形式:表达式1?表达式2:表达式3 说明: 首先计算表达式1,如果非0,则表达式2的值作为条件表达式的值;如果表

《明解C语言》第1章 初识C语言练习题答案

【个人观点】 练习1-1 #include int main(void) { printf("15减去的结果是%d\n",15 - 37); return (0); } 练习1-2 #include int main(void) { printf("风\n林\n火\n山\n"); return (0); } 练习1-3 #include int main(void) { printf("喂!\n您好!\n\n再见\n"); return (0); } 练习1-4 #include int main(void) { int no; printf("请输入一个整数:"); scanf("%d",&no); printf("它与10的和是:%d\n",10 + no); return (0); } 练习1-5 #include

int main(void) { int no; printf("请输入一个整数:"); scanf("%d",&no); printf("该数减去10的结果是:%d\n",no - 10); return (0); } 练习1-6 #include int main(void) { puts("风"); puts("林"); puts("火"); puts("山"); } 练习1-7 #include int main(void) { int n1,n2; int wa; puts("请输入两个整数:"); printf("整数:"); scanf("%d",&n1); printf("整数:"); scanf("%d",&n2); wa = n1 * n2; printf("它们的和是:%d\n",wa); return (0); } 练习1-8 #include

C语言实验2(同名11372)

C语言实验2(同名11372)

实验2的内容和要求 1.同学们在上机的时候,请选择开机菜单中的“Internet”项进入系统。 2.在实验过程中,你编写的程序不要存放在桌面或者C盘,要存在D 盘上。 实验要求 ?实验2上传格式要求: ?实验做完之后,会有7个文件:test2-1.c,test2-2.c,test2-3.c,test2-4.c, test2-5.c,test2-6.c和实验内容及其调试成功的程序贴进去生成的:实 验2.doc,将这7个文件压缩为:学号-姓名.rar; ?实验2上传时间要求: ?实验2提交截至时间: ?机械和梁希班2015.12.6,22:00之前。 ?车辆和自动化2015.12.13,22:00之前 ?实验2上传地址要求: ftp://211.71.149.21蔡娟/课程作业文件夹下的 /C语言/homework中各班文件夹中的实验 2文件夹中。 实验2的内容 第1题 1.编写一段程序,程序名称命名为test2-1.c,完成如下任务: 歌手大奖赛上有10个评委(放在一个数组中)打分,请你设计一个通用程序,该程序可以实现显示每位歌手的成绩、最高分、最低分;还能显示高于平均值

的评委号码及其打分的分值;能显示出给最高分的评委的号码,及给最低分的 评委的号码。 例如,图1(假设有6位评委打分)的一次运行结果实例(显示的内容仅供参考): #include int main() { char z; int i,p=0; float a[10],max,min,average,sum=0,m,b[10],c[10],t,x; do{ for(i=0;i<10;i++) { printf("Please input a score:"); scanf("%f",&a[i]); printf("\n"); } for(i=0;i<10;i++) sum+=a[i]; average=sum/10;

应用语言学的学科体系

应用语言学的学科体系 应用语言学研究领域十分广泛,并且随着语言应用领域的不断发展,应用语言学的新的研究对象即新的分支学科在不断产生。那么怎样来看待应用语言学的学科结构呢?或者说应用语言学的主要研究对象、研究领域是哪些呢? (一)国外应用语言学的主要研究领域 由于语言学在社会生活中的应用领域十分广泛,因而应用语言学从早期单一的研究对象发展到今天已经形成内容十分广泛丰富的研究领域。早期的应用语言学或传统的、狭义应用语言学专指语言教学,尤其特指第二语言教学,而目前应用语言学的研究对象可以说丰富多样、琳琅满目,研究范围日益扩大,如“国际应用语言学协会”设有19个科学委员会,即有19个研究领域,分别是:成人语言教学、应用计算语言学、儿童语言学、对比语言学与偏误分析、言谈分析、教育技术与语言培训、多语环境下的语言教育、语言与性别、特殊用途的语言(如聋哑人的手势语)、语言规划、语言测试、词典编纂与词汇学、母语教育、心理语言学、修辞学与风格学、第二语言习得、社会语言学、术语学、翻译等。像1996年召开的第11届国际应用语言学会议设有多个议题,如语言教学、心理语言学、社会语言学、语段学、语用学、语言测试与评估、翻译理论与实践、自然语言信息处理、语言与科技、语言文化学、生态语言学等等。 (二)我国应用语言学的研究领域 目前在我国,应用语言学的研究对象既包括语言教学、语言文字规划、词典学、人名学和地名学等传统的研究领域,也包括社会语言学、心理语言学、神经语言学、病理语言学、计算语言学、人类语言学、语言风格学、语言测试、术语学、计算语言学(包括语言信息处理)、儿童语言习得、翻译学、言语交际学、传播语言学(广播、电影、电视、报刊等新闻媒体语言以及广告语言、网络语言等)、法律语言学、刑侦语言学、体态语等研究领域。总之,对应用语言学的研究对象应该持一种开放的态度,随着语言应用领域的扩展,应用语言学的研究领域也必将随之拓展。 据刘春艳(2005)的统计,在《语言文字应用》杂志1992年第1期到2003年第4期中,从所发表的论文来看共涉及29个研究领域,除了词汇研究、汉字研究、语法研究、语言修辞研究、语音语义研究、语用研究、杂感、治学方法等不属于真正意义上的应用语言学研究领域外,其他21个研究领域都可以看作是应用语言学的研究对象,分别是:辞书研究、对外汉语教学研究、儿童语言研究、翻译研究、港澳台语文研究、计算语言学、普通话及推普研究、社会语言学、神经语言学、中介语研究、文化语言学、学科研究、语感研究、语文学习与教学研究、语言风格研究、语言规范研究、语文规划研究、语言立法、语言市场调查研究、语言应用、新词新语研究等。从这些丰富多彩的研究领域来看,我国的应用语言学研究在研究对象和研究领域上已经接近于外国的应用语言学。

实验二 C语言的基础知识

实验二 C语言的基础知识 【目的与要求】 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 3.进一步熟悉C程序的编辑、编译、连接和运行的过程。 【上机内容】 【一般示例】 【例1】输入并运行下程序,写出运行结果。 mian() { char c1 , c2; c1=97;c2=98; printf(“%c %c”, c1, c2); } 在此基础上 1)加一个printf语句,并运行之。 printf(“%d,%d”, c1, c2 ); 2)再将第二行改为: int c1, c2; 再使之运行。 3)再将第三行改为: c1=300; c2=400;

再使之运行,分析其运行结果。 在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。 【例2】分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。 main() { char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’; printf(“a%c b%c\tabc\n”,c1,c2,c3); printf(“\t\b%c %c”,c4,c5); } 在该程序中,主要考查对转义字符的掌握情况。 【例3】 分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。 main() { int i , j , m , n ; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 分别作以下改动之后,先分析再运行: 1)将第四行改为: m=i++; n= ++ j;

应用语言学

第一章思考与练习: 1. 应用语言学的定义是什么?(广义、狭义) 答案:狭义:主要指语言教学,特别是外语教学; 广义:包括语言和语言学应用的各个方面。 应用语言学是研究语言和语言学同应用各部分结合的规律的学科。 2.简述语言学的大概分类。 答:语言教学语言规划计算语言学社会语言学(广) 3.简述应用语言学研究的范围。 答: 4. 有人认为应用语言学只是对语言理论的运用,它本身没有理论,对这个问题,你是怎么看的? 答: 5. 应用语言学与本体语言学之间的关系是怎样的? 答:1. 二者的分工 本体语言学与应用语言学有各自的研究对象和研究范围。凡是属于语言要素、语言自身结构系统的研究是本体语言学;凡是属于与社会各方面有关的语言研究则是应用语言学。 2. 二者的联系 本体语言学的研究和发展是应用语言学的基础,没有本体语言学的深入研究,语言文字的应用研究就必然是模糊的、被动的、浅层次的,因为应用语言学要吸取、要利用本体语言学的研究成果。但应用语言学又不仅仅是单一方向的吸收,应用语言学的研究反过来又可以促进本体语言学的研究,不断地丰富本体语言学的内容。因为出于不同目的的应用研究对语言审视的角度是不一样的,它有时可以发现很多本体语言学研究自身不能发现的问题,可以挖掘出仅从本体语言学本身难以发现的规律。 6. 举例说明应用语言学理论的主要来源。 答:应用语言学有多种理论来源: 1.借鉴西方语言理论,又有所发展的 层次分析法, 源自于美国结构主义语言学。 λ假如在这时候不适当地灌水施肥,就会造成庄稼徒长。 λ假如在这时候不适当地灌水施肥,就会使棉桃因缺乏营养而脱落。 中介语理论也源自西方的语言理论。 ↓小妹妹哭在客厅里。 ↓我喜欢他,却他不喜欢我。 2. 借鉴语言学之外的 λ借鉴法学的―无罪推定‖原则 涉及到、见诸于、凯旋而归、悬殊很大…… 叠架形式 杀戮、富饶、祈求、匹配 借鉴医学的―误诊学‖ 医学的误诊语言规范研究中的―误诊‖ 流淌、概貌、美帝、恢复疲劳、打扫卫生…… 3. 借鉴东方哲学的 中间状态理论 混沌论 1. ―你、你、你怎么才来?我都、都等着急了。‖ ―实在对不起,我刚要出门,就接了个电话。别生气,晚上请你吃饭,算我赔罪,怎么样?‖

c语言实验2报告

《高级语言程序设计》实验报告 实验室名称:信息学院2202 班级:电科 学生姓名:吕佳琪 学号:20121060025 指导教师:普园媛 学期:2012-2013学年上学期 2012年10月

实验2 数据类型、常量和变量和顺序结构程序设计 一、实验目的 1、掌握常量和变量的概念以及使用 1、掌握变量的定义、赋值与引用 2、掌握顺序结构相关语句的使用 3、掌握scanf和printf输入、输出数据的方法 二、知识要点 1、变量与常量概念 2、数据输入、输出的格式控制 3、标准库函数与头文件的使用 4、算术运算与赋值运算 5、数据类型转换 三、实验预习(要求做实验前完成) 1、假如要定义两个整型变量x和y,语句int x y;错在哪里? x,y应该用“,”分隔。 2、把a的值赋给b,其语句是:b=a; 3、如果使用语句scanf(“%d%d”,&x,&y);输入8和9两个整数,其输入格式 应该是:scanf(“%d%d”,8 9); 4、如果使用语句scanf(“%d,%d”,&x,&y);输入8和9两个整数,其输入格 式应该是:scanf(“%d,%d”,8,9); 5、程序中如果要用到库函数sin,则应包含头文件:math.h 6、假设x是一个实型变量,语句printf(“%d”,x);错在哪里? 实型变量输出时不应该使用&d,应该使用%f 。 7、语句x=10; y=20; printf(“y=%d, x= %d”,x,y); 能否交换x和y的值? 只是改变了输出顺序,不能真正交换x,y中的值。 四、实验内容(要求提供:①算法NS图②源程序) 1、输入两个人的身高,计算并输出他们的平均身高。(身高以米为单位, 最后结果保留两位小数)

应用语言学试卷1

一 填空(2*15) 1,计算机自动分词的手段有两种:一是( ),二是( )。 2,法律语言的特点有( )( )( )( )。 3. 应用语言学课题设置的基本原则是( )。 4 .随机抽样包括( )、( )( )( )。 5. 公关语言大体可以分为( )、( )、( )、( )。 二 名词解释(5*4). 1.《普通语言学教程》 2. 计算语言学 3. 应用语言学 4. 中介理论 三 简答题(10*3) 1.以实例说明现在语言交际研究的特点。 2. 简要说明认知教学法的主要内容。 3.有人说“鞠个躬”是不规范的,因为“鞠躬”不是动宾式结构,古汉语里没有“鞠个躬”。你怎么看? 四 论述题(20*1) 请结合实际生活谈谈您对网络语言的态度。 参考答案 一 填空(2*15) 1,计算机自动分词的手段有两种:一是(机械切分),二是(智能切分)。 2,法律语言的特点有(庄重性 )(严谨性)(平易性)(技术性)。 3. 应用语言学课题设置的基本原则是(最大限度地满足社会和学科发展的需要)。 4.随机抽样包括(简单随机抽样)、( 系统抽样)(分层抽样)(多级抽样)。 5.公关语言大体可以分为( 接近 )、(说服 )、(应急 )、( 拒绝 )。 二 名词解释(5*4). 1.《普通语言学教程》 《普通语言学教程》是瑞士语言学家索绪尔去世后,他的学生根据听课笔记整理编辑出版的,这本书的出版,使索绪尔成为“现代语言学之父”他开创了现代语言学,他是结构主义语言学的各个流派的共同的学术来源。本书中严格区分了语言和言语,明确语言学研究的对象,重视共时语言的研究,重视口语的研究,特别着重于分析、描写语言的结构体系,从不孤立的看待语言要素,认为语言的一切都奠定在关系的基础上。 不过该理论也有不足之处,割裂了共时与历时的关系等。 2. 计算语言学 厦门大学《______》课程试卷 ____学院____系____年级____专业 主考教师:____试卷类型:(A 卷/B 卷)

c语言上机实验报告 (2)

c语言上机实验报告 (2) 实验六 姓名班级单周上机的那班学号 一 程序源:#include #include void main() { FILE*fp; fp=fopen("E:\\yxf01.text","w"); if(fp==NULL) { printf("文件打不开"); exit(0); } int a,i; printf("请输入一个尾部为0的整数\n"); scanf("%d",&a); while(a%10!=0) { printf("输入值非法,请从新输入!\n"); scanf("%d",&a); }

fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/1 0,a/10,a/10,a/ 10,a/10,a/10,a/10); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a /10,a/10,a/10,a/ 10,a-8*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10 ,a/10,a/10,a-7*(a /10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a/ 10,a-6*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a- 5*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a-4*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d\n",a,a/10,a/10,a/10,a-3*(a/10)); fprintf(fp,"%d=%d+%d+%d\n",a,a/10,a/10,a-2*(a/10)); fprintf(fp,"%d=%d+%d\n",a,a/10,a-(a/10)); fclose(fp) } 运行结果:

C语言实验答案

一1 #include void main() { int iNum; float fNum=134.23; printf("a=%d\tf=%.2f\n",iNum,fNum); } 一2 #include void main() { int a,b,c,sum=0; scanf("a=%d,%d%d",&a,&b,&c); sum=a+b+c; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("sum=%d\n",sum); } 一3

#include void main() { char a,b; scanf("%3c%4c",&a,&b); printf("c1=%c,c2=%c\n",a+1,b-1); } 一4 #include #include void main() { float a; printf("Enter a:"); scanf("%f",&a); printf("The original data is:%f\n\n",a); printf("h=%.2f\n",a); }

一5 #include void main() { int a,b,c,s,e; printf("Please input two numbers:\n"); scanf("%d%d",&a,&b); c=a+b; s=c*c; e=s+s; printf("%d,%d,%d\n",c,s,e); } 一6 #include void main() { float a,b; printf("input a:"); scanf("%f",&a); b=5*(a-32)/9; printf("%.0f(℉)=%.2f(℃)\n",a,b);

C语言实验报告

实验一进制转换一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。

五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制 的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n");

} else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c;

C语言实验报告二

华北水电大学高级语言程序设计(C语言)实验报告(二) 2014--2015学年第二学期 2017级专业:地质类(地质工程学号:201720911 姓名:朱天允……………………………………………………………………………………………… 一、实验题目:选择结构程序设计 二、实验目的:(略) 三、实验内容 1. 程序验证(略) 2.程序设计 1)设变量a、b、c分别存放从键盘输入的3个整数。编写程序,按从大到小的顺序排列这3个整数,使a成为最大的,c成为最小的,并且按序输出这3个整数。 源代码 #include int main() { int a, b, c, d; printf("请输入a,b,c的值:\n"); scanf("%d%d%d",&a,&b,&c); if(a>=b) { d = a; a = b; b = d; } else if(b>=c) { d = b; b = c; c = d; } printf("排序后:\n"); printf("%d %d %d\n",a,b,c); return 0; } 运行结果 请输入a,b,c,的值

3 2 1 排序后 2 3 1 2)输入某学生的考试成绩等级A、B 、C、D,要求按照等级输出对应的分数段。A级对应分数段为80~100,B级对应分数段70~79,C级对应分数段60~69 ,D 级对应分数段为60分以下。 源代码 #include void main() { int n; scanf("%d",&n); if(n>=80 && n<=100) { printf("A"); } if(n>=70 && n<=79) { printf("B"); } if(n>=60 && n<=69) { printf("C"); } if(n<60) { printf("E"); } return; } 运行结果: 请输入一个成绩等级:A 你的分数段为:80~100

相关文档