1 / 23

C is a h igh l evel l anguage ( HLL )

C is a h igh l evel l anguage ( HLL ) Its syntax is much the same as Java and C++, but no objects . Actually, C++ and Java are much the same as C. C was designed in the 1970s. Java. C. Why C ?. Millions of lines of code have been written, so you are going to run into it. . .

gdinkins
Download Presentation

C is a h igh l evel l anguage ( HLL )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C is a high level language (HLL) Its syntax is much the same as Java and C++, but no objects. Actually, C++ and Java are much the same as C. C was designed in the 1970s.

  2. Java

  3. C

  4. Why C ? • Millions of lines of code have been written, so you are going to run into it. . . • One place you are likely to run into it are the UW-Madison 500-level CS systems classes. • It gives a common language to reference, so the remainder of 354 can base examples on C code (not Java, C++, Ruby, Python, etc.). • Any C++ programmer also needs to know C.

  5. Comments in C code /* my comment */ comments may span lines opening delimiter closing delimiter

  6. /* hello world program */ #include <stdio.h> main() { printf("hello, world\n"); }

  7. C’s printf() is like: Java’s System.out.print() or C++’s cout

  8. Java source code compiler Java “byte codes” Java interpreter (JVM)

  9. high level language source code compiler assembly language source code assembler machine code linking and loading execution

  10. high level language source code C preprocessor C compiler assembly language source code

  11. the C preprocessor does 1. #include 2. macro substitution for example: #define MAX 100 3. conditional compilation

  12. 1. #include <stdio.h> #include "myheaders.h"

  13. #include <stdio.h> 2. #define MAX 100 main() { int x; x = 1; while (x <= MAX) { printf("%d\n", x); x++; } }

  14. C's basic types • char – An ASCII character. Typically 1 byte. • int – A 2's complement integer. Typically the size of a word on the architecture. • float – An IEEE single precision floating point value. 32 bits. • double – An IEEE double precision floating point value. 64 bits Not listed here: pointer types.

  15. Type qualifiers If and when you believe you need to use these, look them up: • signed • unsigned – causes integer arithmetic operations to be ones for unsigned integers • long – relates to size • short – relates to size • const – do not use this qualifier to define a constant. What happens when code tries to change a variable declared as const is implementation dependent.

  16. C string An array of characters, which uses the null character to delimit the end of the string. '\0' is the null character. All zeros bit pattern in ASCII. "Hi." "12"

  17. I/O Concept and Implementation Logical places where input comes from and output goes to: stdin stdout stderr

  18. Output int printf(char *format [, arg1] … ); (in the stdio library) function name string, called theformat string optional, as referenced by string return value: # characters printed

  19. printf("howdy"); howdy ^ A better way to do this (for security reasons) isputs("howdy");

  20. Within the format string, to reference variable (values): %d for an integer %u for unsigned %c for a character %s for a string Each %characterreferences an argument

  21. int x, y; x = 3; y = 5; printf(" = %d\n", x, y, x + y); %d + %d newline character 3 + 5= 8 ^

  22. #include <stdio.h> main() { int x; x = 354; printf("[%d]\n", x); printf("[%1d]\n", x); printf("[%2d]\n", x); printf("[%3d]\n", x); printf("[%4d]\n", x); printf("[%-4d]\n", x); } OUTPUT [354] [354] [354] [354] [ 354] [354 ] Optional field width

  23. #include <stdio.h> main() { float x; x = 1234.5678; printf("[%f]\n", x); printf("[%1f]\n", x); printf("[%2f]\n", x); printf("[%20f]\n", x); printf("[%-20f]\n", x); printf("[%1.2f]\n", x); printf("[%-2.3f]\n", x); printf("[%-20.3f]\n", x); } OUTPUT [1234.567749] [1234.567749] [1234.567749] [ 1234.567749] [1234.567749 ] [1234.57] [1234.568] [1234.568 ]

More Related